Freigeben über


Bekannte Probleme mit der AKS-Engine auf Azure Stack Hub

In diesem Artikel werden bekannte Probleme mit der AKS-Engine in Azure Stack Hub beschrieben.

Das abgelaufene Geheimnis für den Dienstprinzipal (SPN) führt zu einem Fehler des Clusters.

  • Gilt für: Dieses Problem gilt für alle Releases.

  • Beschreibung: Wenn das Geheimnis für den SPN abläuft, schlägt der Cluster fehl. Dies wirkt sich auf alle Kubernetes-Cluster aus, die mithilfe der AKS-Engine bereitgestellt wurden. Wenn Ihr Geheimnis abläuft, ist Ihr Cluster nicht funktionsfähig.

  • Problemlösung: Melden Sie sich zum Beheben des Problems bei jedem Kubernetes-Knoten an, um die Konfigurationsdatei /etc/kubernetes/azure.json mit einer neuen SPN-Anwendungs-ID und einem nicht abgelaufenen Geheimnis zu aktualisieren. Möglicherweise müssen Sie sich an Ihren Azure Stack Hub-Cloudoperator wenden, um einen SPN und ein aktuelles Geheimnis zu erhalten. Anweisungen finden Sie unter Verwenden einer App-Identität für den Ressourcenzugriff.

    1. Sie können die folgenden Befehle für Ihre Linux-Knoten verwenden:

      sudo sed -i s/f072c125-c99c-4781-9e85-246b981cd52b/094b1318-baea-4584-bf9c-4a40501ce21b/1 /etc/kubernetes/azure.json
      
    2. Starten Sie den kubelet-Dienst mit dem folgenden Befehl neu:

      sudo systemctl reboot node
      

    Sie können auch den SPN und das Geheimnis mit dem API-Modell verwenden und ein Upgrade erzwingen. Anweisungen dazu finden Sie unter Erzwingen eines Upgrades.

  • Häufigkeit: Allgemein

Abgelaufene Zertifikate für den Front-Proxy

  • Gilt für: Dieses Problem gilt für alle Releases.
  • Beschreibung: Wenn Ihr Zertifikat abläuft, kubectl topfunktioniert der Metrikserver möglicherweise nicht mehr.
  • Problemlösung: Sie müssen Ihr Zertifikat verlängern. Die entsprechenden Schritte sind unter Rotieren von Kubernetes-Zertifikaten auf Azure Stack Hub erläutert.
  • Häufigkeit: Allgemein

Begrenzung auf 50 Knoten pro Abonnement

  • Geltungsbereich: Azure Stack Hub, AKS-Engine (alle)
  • Beschreibung: Beim Erstellen von Clustern müssen Sie sicherstellen, dass pro Abonnement nicht mehr als 50 Kubernetes-Knoten (Steuerungsebene und Agentknoten) bereitgestellt werden. Die Gesamtzahl der Kubernetes-Knoten, die in allen Clustern innerhalb eines einzelnen Abonnements bereitgestellt werden, sollte nicht mehr als 50 Knoten betragen.
  • Behebung: Verwenden Sie weniger als 51 Knoten in Ihrem Abonnement.
  • Auftreten: Beim Versuch, mehr als 50 Knoten pro Abonnement hinzuzufügen.

Die Größe von Cluster-VMs kann mit dem Computedienst nicht geändert werden

  • Geltungsbereich: Azure Stack Hub, AKS-Engine (alle)
  • Beschreibung: Das Ändern der Größe von Cluster-VMs über den Compute-Dienst funktioniert nicht mit der AKS-Engine. Die AKS-Engine verwaltet den Status des Clusters in der JSON-Datei des API-Modells. Um sicherzustellen, dass die gewünschte VM-Größe in jedem Erstellungs-, Upgrade- oder Skalierungsvorgang mit der AKS-Engine widerspiegelt, aktualisieren Sie das API-Modell, bevor Sie einen dieser Vorgänge ausführen. Wenn Sie beispielsweise eine VM-Größe in einem bereits bereitgestellten Cluster mithilfe des Computediensts in eine andere Größe ändern, geht der Zustand bei aks-engine upgrade der Ausführung verloren.
  • Behebung: Damit dies funktioniert, suchen Sie nach dem API-Modell für den Cluster, ändern Sie die Größe dort, und führen Sie dann aus aks-engine upgrade.
  • Häufigkeit: Bei dem Versuch, die Größe mit dem Computedienst zu ändern.

Fehler beim Trennen des Datenträgers in der AKS-Engine 0.55.0

  • Geltungsbereich: Azure Stack Hub (Update 2005), AKS-Engine 0.55.0
  • Beschreibung: Wenn Sie versuchen, eine Bereitstellung zu löschen, die persistente Volumes enthält, löst der Löschvorgang eine Reihe von Fehlern beim Anfügen/Trennen aus. Dieses Problem ist auf einen Fehler im Cloudanbieter der AKS-Engine v0.55.0 zurückzuführen. Der Cloudanbieter ruft die Azure-Resource Manager mit einer Version der API auf, die neuer ist als die Version, die Azure Resource Manager in Azure Stack Hub (Update 2005) derzeit unterstützt.
  • Behebung: Ausführliche Informationen und Schritte zur Entschärfung finden Sie im GitHub-Repository der AKS-Engine (Problem 3817). Führen Sie ein Upgrade aus, sobald ein neuer Build der AKS-Engine und des entsprechenden Images verfügbar sind.
  • Vorkommen: Beim Löschen einer Bereitstellung, die persistente Volumes enthält.

Upgradeprobleme in AKS Engine 0.51.0

  • Während des Upgrades der AKS-Engine eines Kubernetes-Clusters von Version 1.15.x auf 1.16.x erfordert das Upgrade der folgenden Kubernetes-Komponenten zusätzliche manuelle Schritte: kube-proxy, azure-cni-networkmonitor, csi-secrets-store, kubernetes-Dashboard. In den folgenden Informationen wird beschrieben, was Sie möglicherweise sehen und wie Sie die Probleme umgehen können.

    • In verbundenen Umgebungen ist dieses Problem nicht offensichtlich, da es im Cluster keine Anzeichen gibt, dass die betroffenen Komponenten nicht aktualisiert wurden. Alles funktioniert scheinbar wie erwartet.

      kubectl get pods -n kube-system
      
    • Führen Sie den Befehl in der Spalte Problemumgehung in der folgenden Tabelle aus, um dieses Problem für jede dieser Komponenten zu beheben.

      Komponentenname Problemumgehung Betroffene Szenarien
      kube-proxy kubectl delete ds kube-proxy -n kube-system Verbunden, nicht verbunden
      azure-cni-networkmonitor kubectl delete ds azure-cni-networkmonitor -n kube-system Verbunden, nicht verbunden
      csi-secrets-store sudo sed -i s/Always/IfNotPresent/g /etc/kubernetes/addons/secrets-store-csi-driver.yaml
      kubectl delete ds csi-secrets-store -n kube-system
      Getrennt
      kubernetes-dashboard Führen Sie den folgenden Befehl für jeden Steuerungsebenenknoten aus:
      sudo sed -i s/Always/IfNotPresent/g /etc/kubernetes/addons/kubernetes-dashboard.yaml
      Getrennt
  • Kubernetes 1.17 wird in diesem Release nicht unterstützt. Obwohl es GitHub-Pullanforderungen (PR) gibt, die sich auf die Version 1.17 beziehen, wird diese nicht unterstützt.

Clusterknoten wechselt zu "Not Ready" status und k8s-kern.log enthält die Meldung "Speichergruppe aus Arbeitsspeicher"

  • Geltungsbereich: Azure Stack Hub, AKS-Engine (alle)

  • Beschreibung: Ein Clusterknoten wird zu "Not Ready" status verschoben, und die Datei k8s-kern.log enthält die Meldung Memory cgroup out of memory. Dieses Problem gilt für alle Versionen der AKS-Engine. Um zu überprüfen, ob dieses Problem auf Ihrem System auftritt, durchsuchen Sie die Datei k8s-kern.log nach der Zeichenfolge "Memory cgroup out of memory".

    Sie finden die Datei k8s-kern.log wie folgt:

    • Ausführen aks-engine get-logs und Navigieren zu ${NODE_NAME}/var/log/k8s-kern.log, OR
    • Navigieren zu /var/log/kern.log im Knotendateisystem.
  • Behebung: Erhöhen Sie für Knoten auf Steuerungsebene die Größe der master Profil-VM. Erhöhen Sie für Agentknoten die VM-Größe des Knotenpools, oder skalieren Sie den Knotenpool hoch. Führen Sie zum Hochskalieren des Knotenpools den dokumentierten Befehl aus scale , und befolgen Sie die Anweisungen.

    Um die Größe einer Pool-VM zu erhöhen, aktualisieren Sie das API-Modell, und führen Sie aus aks-engine upgrade. Alle virtuellen Computer werden gelöscht und mit der neuen VM-Größe neu erstellt.

  • Vorkommen: Wenn der vom Clusterknoten benötigte/verbrauchte Arbeitsspeicher den verfügbaren Arbeitsspeicher überschreitet.

Nächste Schritte

Übersicht über AKS Engine in Azure Stack Hub