Felsöka vanliga problem för Azure Linux Container Host för AKS
Den här artikeln innehåller felsökningssteg för några av de vanliga problem som kan uppstå när du använder Azure Linux-containervärdar i Azure Kubernetes Service (AKS). Mer information om hur du kommer igång med Azure Linux-containervärdar i AKS finns i Använda Azure Linux med AKS.
Innan du börjar
Läs den officiella guiden för felsökning av Kubernetes-kluster. Läs även Microsoft-teknikerns guide till Kubernetes-felsökning. Den här guiden innehåller kommandon för felsökning av poddar, noder, kluster och andra funktioner.
Granska slutligen listan över kända begränsningar i Azure Linux. Ett problem som du försöker lösa kan vara ett problem som vi redan arbetar med.
Förutsättningar
- Azure CLI, version 2.31 eller senare. Om Azure CLI redan är installerat kan du hitta versionsnumret genom att köra
az --version
.
Om Azure Linux Container Host för AKS
Azure Linux är en Linux-distribution med öppen källkod som Microsoft skapade. Som ett enkelt operativsystem har Azure Linux följande funktioner:
- Innehåller endast de paket som behövs för att köra containerarbetsbelastningar
- Genomgår Azure-valideringstester
- Är kompatibel med Azure-agenter
Azure Linux Container Host for AKS är en operativsystemavbildning för AKS som är optimerad för att köra containerarbetsbelastningar. Den underhålls av Microsoft och baseras på Azure Linux. Det ger tillförlitlighet och konsekvens från moln till gräns i AKS, AKS på Azure Stack HCI och Azure Arc-produkter. Du kan använda Azure Linux-containervärdar för att utföra följande processer:
- Distribuera Azure Linux-nodpooler i ett nytt kluster.
- Lägg till Azure Linux-nodpooler i dina befintliga Ubuntu-kluster.
- Migrera dina Ubuntu-noder till Azure Linux-noder.
Mer information om Azure Linux finns i Azure Linux GitHub-lagringsplatsen.
Checklista för felsökning
Steg 1: Granska motsvarande kommandon i Ubuntu och Azure Linux
De flesta kommandon i Azure Linux OS, till exempel kommandot processstatus (ps
) liknar kommandon som används i Ubuntu. Pakethantering utförs dock med hjälp av kommandot Tiny DNF (tdnf
). I följande tabell visas några vanliga kommandon i Ubuntu och deras motsvarigheter i Azure Linux.
Ubuntu-kommando | Föreslaget Azure Linux-kommando |
---|---|
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 |
(ingen exakt motsvarighet; läs Paketfil i mappen /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 |
Steg 2: Kontrollera Azure Linux-versionen
Kontrollera att du använder rätt version av Azure Linux. Den version av Azure Linux som stöds för förbrukning är Azure Linux 2.0. I utdata från följande az aks nodepool list-kommando osSKU
bör egenskapen läsa AzureLinux
.
az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name>
Även om det här kommandot kanske inte löser problemet som du upplever är versionshantering ett vanligt problem för användare som rapporterar att agenter eller tillägg inte fungerar korrekt i Azure Linux.
Steg 3: Förstå skillnaden i sökvägar för certifikatfiler
Azure Linux (och andra RPM-distributioner) lagrar certifikat på ett annat sätt än Ubuntu.
I Azure Linux är sökvägen /etc/ssl/certs en symbolisk länk till /etc/pki/tls/certs. Om en container förväntar sig att mappa /etc/ssl/certs för att använda certifikatfilen ca-certificates.crt i Azure Linux, får containern i stället en symbolisk länk som pekar till ingenstans. Det här beteendet orsakar certifikatrelaterade fel i containern. Containern måste också mappa /etc/pki så att containern kan följa den symboliska länkkedjan. Om containern måste fungera på både Ubuntu- och Azure Linux-värdar kan du mappa /etc/pki med hjälp DirectoryOrCreate
av typen i en hostPath-volym.
Steg 4: Uppdatera Azure CLI och AKS-förhandsgranskningstillägget
Om du försöker distribuera ett Azure Linux AKS-kluster med hjälp av Azure CLI kan du få ett felmeddelande om att AzureLinux
alternativet inte stöds för parametern OSSku
. Det här meddelandet innebär att du kanske använder en inaktuell version av Azure CLI eller AKS-förhandsgranskningstillägget. Åtgärda det här problemet genom att utföra en eller båda av följande två åtgärder:
Om Azure CLI inte är uppdaterat installerar du den senaste versionen. Om du vill uppgradera Azure CLI kör du följande az upgrade-kommando :
az upgrade
Om du har en äldre version av
aks-preview
tillägget installerat installerar du en nyare version så att parameternOSSku
har värdetAzureLinux
. Om du vill uppgradera tillägget kör du följande az extension update-kommando :az extension update --name aks-preview
Ansvarsfriskrivning för information från tredje part
De produkter från andra tillverkare som diskuteras i denna artikel tillverkas oberoende av Microsoft. Produkternas funktion eller tillförlitlighet kan därför inte garanteras.
Ansvarsfriskrivning för tredje part
Microsoft tillhandahåller kontaktinformation från tredje part som hjälper dig att hitta ytterligare information om det här ämnet. Denna kontaktinformation kan ändras utan föregående meddelande. Microsoft garanterar inte att kontaktinformation från tredje part är korrekt.
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.