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 deOSSku
parameter een waarde heeft vanAzureLinux
. 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.