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