Freigeben über


Behandeln von häufigen Problemen mit Azure Linux Container Host for AKS

Dieser Artikel enthält Schritte zur Problembehandlung für einige der häufig gemeldeten Probleme, die bei der Verwendung von Azure Linux-Containerhosts in Azure Kubernetes Service (AKS) auftreten können. Weitere Informationen zu den ersten Schritten mit Azure Linux-Containerhosts in AKS finden Sie unter Verwenden von Azure Linux mit AKS.

Bevor Sie beginnen:

Lesen Sie den offiziellen Leitfaden zur Problembehandlung von Kubernetes-Clustern. Lesen Sie auch den Microsoft-Leitfaden für Techniker zur Problembehandlung bei Kubernetes. Dieser Leitfaden enthält Befehle zur Problembehandlung bei Pods, Knoten, Clustern und anderen Features.

Sehen Sie sich abschließend die Liste der bekannten Einschränkungen in Azure Linux an. Ein Problem, das Sie beheben möchten, könnte ein Problem sein, an dem wir bereits arbeiten.

Voraussetzungen

  • Azure CLI, Version 2.31 oder höher. Wenn die Azure CLI bereits installiert ist, können Sie die Versionsnummer ermitteln, indem Sie ausführen az --version.

Informationen zu Azure Linux Container Host for AKS

Azure Linux ist eine Von Microsoft erstellte Open-Source-Linux-Distribution. Als einfaches Betriebssystem verfügt Azure Linux über die folgenden Features:

  • Enthält nur die Pakete, die zum Ausführen von Containerworkloads benötigt werden.
  • Durchläuft Azure-Validierungstests
  • Kompatibel mit Azure-Agents

Azure Linux Container Host for AKS ist ein Betriebssystemimage für AKS, das für die Ausführung von Containerworkloads optimiert ist. Es wird von Microsoft verwaltet und basiert auf Azure Linux. Es bietet Zuverlässigkeit und Konsistenz von der Cloud bis zum Edge für AKS-, AKS in Azure Stack HCI- und Azure Arc-Produkten . Sie können Azure Linux-Containerhosts verwenden, um die folgenden Prozesse auszuführen:

  • Bereitstellen von Azure Linux-Knotenpools in einem neuen Cluster
  • Fügen Sie Ihren vorhandenen Ubuntu-Clustern Azure Linux-Knotenpools hinzu.
  • Migrieren Sie Ihre Ubuntu-Knoten zu Azure Linux-Knoten.

Weitere Informationen zu Azure Linux finden Sie im GitHub-Repository für Azure Linux .

Checkliste zur Problembehandlung

Schritt 1: Überprüfen der entsprechenden Befehle in Ubuntu und Azure Linux

Die meisten Befehle im Azure Linux-Betriebssystem, z. B. der Prozess status (ps), ähneln Befehlen, die in Ubuntu verwendet werden. Die Paketverwaltung erfolgt jedoch mit dem Befehl Tiny DNF (tdnf). In der folgenden Tabelle sind einige allgemeine Befehle in Ubuntu und deren Entsprechungen in Azure Linux aufgeführt.

Ubuntu-Befehl Vorgeschlagener Azure Linux-Befehl
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 (keine genaue Entsprechung; lesen Sie die Paketdatei im Ordner /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

Schritt 2: Überprüfen der Azure Linux-Version

Stellen Sie sicher, dass Sie die richtige Version von Azure Linux verwenden. Die unterstützte Version von Azure Linux für die Nutzung ist Azure Linux 2.0. In der Ausgabe des folgenden Befehls az aks nodepool list sollte die osSKU -Eigenschaft lesen AzureLinux.

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

Obwohl dieser Befehl das aufgetretene Problem möglicherweise nicht behebt, ist die Versionsverwaltung ein häufiges Problem für Benutzer, die berichten, dass Agents oder Erweiterungen unter Azure Linux nicht ordnungsgemäß funktionieren.

Schritt 3: Grundlegendes zum Unterschied bei Zertifikatdateipfaden

Azure Linux (und andere RPM-Distributionen) speichern Zertifikate anders als Ubuntu.

Unter Azure Linux ist der Pfad /etc/ssl/certs eine symbolische Verknüpfung mit /etc/pki/tls/certs. Wenn ein Container erwartet, dass /etc/ssl/certs die Zertifikatdatei ca-certificates.crt unter Azure Linux verwendet, erhält der Container stattdessen eine symbolische Verknüpfung, die auf das Nichts verweist. Dieses Verhalten verursacht zertifikatbezogene Fehler im Container. Der Container muss auch /etc/pki zuordnen, damit der Container der symbolischen Linkkette folgen kann. Wenn der Container sowohl auf Ubuntu- als auch auf Azure Linux-Hosts funktionieren muss, können Sie /etc/pki mithilfe des DirectoryOrCreate Typs in einem hostPath-Volume zuordnen.

Schritt 4: Aktualisieren der Azure CLI und der AKS-Vorschauerweiterung

Wenn Sie versuchen, einen Azure Linux AKS-Cluster mithilfe der Azure CLI bereitzustellen, erhalten Sie möglicherweise eine Fehlermeldung, die besagt, dass die AzureLinux Option für den OSSku Parameter nicht unterstützt wird. Diese Meldung bedeutet, dass Sie möglicherweise eine veraltete Version der Azure CLI oder der AKS-Vorschauerweiterung verwenden. Um dieses Problem zu beheben, führen Sie eine oder beide der folgenden beiden Aktionen aus:

  • Wenn die Azure CLI nicht auf dem neuesten Stand ist, installieren Sie die neueste Version. Führen Sie zum Aktualisieren der Azure CLI den folgenden Az upgrade-Befehl aus:

    az upgrade
    
  • Wenn Sie eine ältere Version der aks-preview Erweiterung installiert haben, installieren Sie eine neuere Version, sodass der OSSku Parameter den Wert aufweist AzureLinux. Führen Sie zum Aktualisieren der Erweiterung den folgenden Az extension update-Befehl aus:

    az extension update --name aks-preview
    

Informationen zum Haftungsausschluss von Drittanbietern

Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.

Haftungsausschluss für Kontaktinformationen von Drittanbietern

Die Kontaktinformationen zu den in diesem Artikel erwähnten Drittanbietern sollen Ihnen helfen, zusätzliche Informationen zu diesem Thema zu finden. Diese Kontaktinformationen können ohne vorherige Ankündigung geändert werden. Sie werden von Microsoft ohne jede Gewähr weitergegeben.

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.