Dela via


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 parametern OSSku har värdet AzureLinux. 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.