Delen via


Veelvoorkomende problemen voor Azure Linux Container Host voor AKS oplossen

Dit artikel bevat stappen voor probleemoplossing voor een aantal veelvoorkomende problemen die u mogelijk ondervindt bij het gebruik van Azure Linux-containerhosts in Azure Kubernetes Service (AKS). Zie Azure Linux gebruiken met AKS voor meer informatie over hoe u aan de slag gaat met Azure Linux-containerhosts in AKS.

Voordat u begint

Lees de officiële handleiding voor het oplossen van problemen met Kubernetes-clusters. Lees ook de handleiding van de Microsoft-engineer voor het oplossen van problemen met Kubernetes. Deze handleiding bevat opdrachten voor het oplossen van problemen met pods, knooppunten, clusters en andere functies.

Bekijk ten slotte de lijst met bekende beperkingen in Azure Linux. Een probleem dat u probeert op te lossen, is mogelijk een probleem waaraan we al werken.

Voorwaarden

  • Azure CLI, versie 2.31 of een nieuwere versie. Als Azure CLI al is geïnstalleerd, kunt u het versienummer vinden door uit te voeren az --version.

Over Azure Linux Container Host voor AKS

Azure Linux is een opensource Linux-distributie die door Microsoft is gemaakt. Als lichtgewicht besturingssysteem heeft Azure Linux de volgende functies:

  • Bevat alleen de pakketten die nodig zijn om containerworkloads uit te voeren
  • Azure-validatietests ondergaan
  • Is compatibel met Azure-agents

Azure Linux Container Host voor AKS is een installatiekopie van het besturingssysteem voor AKS die is geoptimaliseerd voor het uitvoeren van containerworkloads. Het wordt onderhouden door Microsoft en op basis van Azure Linux. Het biedt betrouwbaarheid en consistentie van cloud tot rand in de AKS, AKS op Azure Stack HCI en Azure Arc-producten. U kunt Azure Linux-containerhosts gebruiken om de volgende processen uit te voeren:

  • Implementeer Azure Linux-knooppuntgroepen in een nieuw cluster.
  • Voeg Azure Linux-knooppuntgroepen toe aan uw bestaande Ubuntu-clusters.
  • Migreer uw Ubuntu-knooppunten naar Azure Linux-knooppunten.

Zie de GitHub-opslagplaats van Azure Linux voor meer informatie over Azure Linux .

Controlelijst voor probleemoplossing

Stap 1: Gelijkwaardige opdrachten controleren in Ubuntu en Azure Linux

De meeste opdrachten in het Azure Linux-besturingssysteem, zoals de opdracht processtatus (ps) lijken op opdrachten die worden gebruikt in Ubuntu. Pakketbeheer wordt echter uitgevoerd met behulp van de opdracht Tiny DNF (tdnf). De volgende tabel bevat enkele algemene opdrachten in Ubuntu en hun equivalenten in Azure Linux.

Ubuntu-opdracht Voorgestelde Azure Linux-opdracht
apt -- list installed rpm -qa
apt autoclean tdnf clean all
apt autoremove dnf autoremove
apt dist-upgrade dnf distro-sync
apt download tdnf download
apt install tdnf install
apt install --reinstall tdnf reinstall
apt list - upgradable dnf list updates
apt remove tdnf remove
apt search tdnf search
apt show tdnf list
apt upgrade tdnf upgrade
apt cache dump tdnf list available
apt-cache dumpavail tdnf list available
apt-cache policy tdnf list
apt-cache rdepends dnf repoquery -- alldeps - whatrequires
apt-cache search tdnf search
apt-cache show tdnf info
apt-cache stats (geen exacte equivalent; lees de Pakkettenbestand in de map /var/lib/rpm)
apt-config shell dnf shell
apt-file list dnf repoquery -l
apt-file search tdnf provides
apt-get autoremove dnf autoremove
apt-get install tdnf install
apt-get remove tdnf remove
apt-get update dnf clean expire-cache dnf check-update
apt-mark auto tdnf install dnf mark remove
apt-mark manual dnf mark install
apt-mark showmanual dnf history userinstalled

Stap 2: De Versie van Azure Linux controleren

Zorg ervoor dat u de juiste versie van Azure Linux gebruikt. De ondersteunde versie van Azure Linux voor verbruik is Azure Linux 2.0. In de uitvoer van de volgende opdracht az aks nodepool list moet de osSKU eigenschap worden gelezen AzureLinux.

az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name>

Hoewel deze opdracht mogelijk niet het probleem verhelpt dat u ondervindt, is versiebeheer een veelvoorkomend probleem voor gebruikers die melden dat agents of extensies niet correct werken in Azure Linux.

Stap 3: inzicht in het verschil in bestandspaden voor certificaten

Azure Linux -distributies (en andere RPM-distributies) slaan certificaten anders op dan Ubuntu.

In Azure Linux is het pad /etc/ssl/certs een symbolische koppeling naar /etc/pki/tls/certs. Als een container verwacht dat /etc/ssl/certs het ca-certificates.crt-certificaatbestand op Azure Linux gebruikt, krijgt de container in plaats daarvan een symbolische koppeling die naar nergens verwijst. Dit gedrag veroorzaakt certificaatgerelateerde fouten in de container. De container moet ook /etc/pki toewijzen, zodat de container de symbolische koppelingsketen kan volgen. Als de container moet werken op zowel Ubuntu- als Azure Linux-hosts, kunt u /etc/pki toewijzen met behulp van het DirectoryOrCreate type in een hostPath-volume.

Stap 4: Azure CLI en de AKS Preview-extensie bijwerken

Als u probeert een Azure Linux AKS-cluster te implementeren met behulp van Azure CLI, krijgt u mogelijk een foutbericht met de mededeling dat de AzureLinux optie niet wordt ondersteund voor de OSSku parameter. Dit bericht betekent dat u mogelijk een verouderde versie van de Azure CLI of de preview-extensie van AKS gebruikt. U kunt dit probleem oplossen door een of beide van de volgende twee acties uit te voeren:

  • Als Azure CLI niet up-to-date is, installeert u de nieuwste versie. Voer de volgende az upgrade-opdracht uit om azure CLI bij te werken:

    az upgrade
    
  • Als u een oudere versie van de aks-preview extensie hebt geïnstalleerd, installeert u een nieuwere versie, zodat de OSSku parameter een waarde heeft van AzureLinux. Voer de volgende opdracht az extension update uit om de extensie bij te werken:

    az extension update --name aks-preview
    

Disclaimerinformatie van derden

De producten van derden die in dit artikel worden vermeld, worden vervaardigd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft verleent dan ook geen enkele garantie, impliciet noch anderszins, omtrent de prestaties of de betrouwbaarheid van deze producten.

Disclaimerinformatie van derden

Microsoft biedt contactgegevens van derden om u te helpen aanvullende informatie over dit onderwerp te vinden. Deze contactinformatie kan zonder voorafgaande kennisgeving worden gewijzigd. Microsoft garandeert niet de nauwkeurigheid van contactgegevens van derden.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.