Freigeben über


Behandeln häufiger Probleme bei Azure Linux Container Host für AKS

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

Voraussetzungen

Lesen Sie den offiziellen Leitfaden zur Problembehandlung bei Kubernetes-Clustern. Lesen Sie außerdem den Leitfaden des Microsoft-Technikers zur Problembehandlung bei Kubernetes. Dieses Handbuch enthält Befehle für die Problembehandlung von Pods, Knoten, Clustern und anderen Features.

Überprüfen Sie schließlich die Liste der bekannten Einschränkungen in Azure Linux. Ein Problem, das Sie beheben möchten, ist möglicherweise ein Problem, an dem wir bereits arbeiten.

Voraussetzungen

  • Azure CLI, Version 2.31 oder eine höhere Version. Wenn Azure CLI bereits installiert ist, finden Sie die Versionsnummer, indem Sie ausführen az --version.

Informationen zum Azure Linux-Containerhost für AKS

Azure Linux ist eine Open-Source-Linux-Verteilung, die Von Microsoft erstellt wurde. Als einfaches Betriebssystem verfügt Azure Linux über die folgenden Features:

  • Enthält nur die Pakete, die zum Ausführen von Containerworkloads erforderlich sind.
  • Wird Azure-Validierungstests unterzogen
  • Ist 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 Cloud zu Edge über die AKS, AKS auf Azure Stack HCI und Azure Arc-Produkte . Sie können Azure Linux-Containerhosts verwenden, um die folgenden Prozesse auszuführen:

  • Stellen Sie Azure Linux-Knotenpools in einem neuen Cluster bereit.
  • 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 Azure Linux GitHub-Repository.

Checkliste zur Problembehandlung

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

Die meisten Befehle im Azure Linux-Betriebssystem, z. B. der Prozessstatusbefehl (ps) ähneln Befehlen, die in Ubuntu verwendet werden. Die Paketverwaltung erfolgt jedoch mithilfe des Befehls 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 den Verbrauch ist Azure Linux 2.0. In der Ausgabe des folgenden Az aks nodepool list command, the osSKU property should read AzureLinux.

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

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

Schritt 3: Grundlegendes zum Unterschied in Zertifikatdateipfaden

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

Unter Azure Linux ist der Pfad "/etc/ssl/certs " ein symbolischer Link zu "/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 nichts verweist. Dieses Verhalten verursacht zertifikatbezogene Fehler im Container. Der Container muss auch /etc/pki zuordnen, damit der Container der symbolischen Verknüpfungskette 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, wird möglicherweise eine Fehlermeldung angezeigt, 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 Azure CLI nicht auf dem neuesten Stand ist, installieren Sie die neueste Version. Führen Sie den folgenden Az-Upgradebefehl aus, um Azure CLI zu aktualisieren:

    az upgrade
    
  • Wenn Sie eine ältere Version der aks-preview Erweiterung installiert haben, installieren Sie eine neuere Version, damit der OSSku Parameter einen Wert aufweist AzureLinux. Führen Sie zum Aktualisieren der Erweiterung den folgenden Az-Erweiterungsupdatebefehl 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.