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 derOSSku
Parameter den Wert aufweistAzureLinux
. 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.