Problembehandlung bei Fehlern vom Typ „Knoten nicht bereit“ bei abgelaufenen Zertifikaten
Dieser Artikel hilft Ihnen bei der Problembehandlung von Node Not Ready-Szenarien in einem Microsoft Azure Kubernetes Service (AKS)-Cluster, wenn abgelaufene Zertifikate vorhanden sind.
Voraussetzungen
- Azure-Befehlszeilenschnittstelle
- Das Befehlszeilentool OpenSSL zum Anzeigen und Signieren von Zertifikaten
Problembeschreibung
Sie erkennen, dass sich ein AKS-Clusterknoten im Zustand "Knoten nicht bereit" befindet.
Ursache
Es gibt mindestens ein abgelaufenes Zertifikat.
Verhinderung: Ausführen von OpenSSL zum Signieren der Zertifikate
Überprüfen Sie die Ablaufdaten von Zertifikaten, indem Sie den Befehl "openssl-x509 " wie folgt aufrufen:
Verwenden Sie für VM-Skalierungsgruppenknoten den Befehl "az vmss run-command invoke ":
az vmss run-command invoke \ --resource-group <resource-group-name> \ --name <vm-scale-set-name> \ --command-id RunShellScript \ --instance-id 0 \ --output tsv \ --query "value[0].message" \ --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
Verwenden Sie für VM-Verfügbarkeitssatzknoten den Befehl "az vm run-command invoke ":
az vm run-command invoke \ --resource-group <resource-group-name> \ --name <vm-availability-set-name> \ --command-id RunShellScript \ --output tsv \ --query "value[0].message" \ --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
Möglicherweise erhalten Sie nach dem Aufrufen dieser Befehle bestimmte Fehlercodes. Informationen zu den Fehlercodes 50, 51 und 52 finden Sie unter den folgenden Links, je nach Bedarf:
- Problembehandlung beim Fehlercode OutboundConnFailVMExtensionError (50)
- Problembehandlung beim Fehlercode K8SAPIServerConnFailVMExtensionError (51)
- Problembehandlung beim Fehlercode K8SAPIServerDNSLookupFailVMExtensionError (52)
Wenn Sie Fehlercode 99 erhalten, weist dies darauf hin, dass der Befehl "apt-get update " am Zugriff auf eine oder mehrere der folgenden Domänen gehindert wird:
- security.ubuntu.com
- azure.archive.ubuntu.com
- nvidia.github.io
Um den Zugriff auf diese Domänen zu ermöglichen, aktualisieren Sie die Konfiguration aller blockierenden Firewalls, Netzwerksicherheitsgruppen (Network Security Groups, NSGs) oder virtuellen Netzwerk-Appliances (Network Virtual Appliances, NVAs).
Lösung: Drehen der Zertifikate
Sie können die automatische Drehung des Zertifikats anwenden, um Zertifikate in den Knoten zu drehen, bevor sie ablaufen. Diese Option erfordert keine Ausfallzeiten für den AKS-Cluster.
Wenn Sie Clusterausfallzeiten aufnehmen können, können Sie die Zertifikate stattdessen manuell drehen.
Notiz
Ab dem 15. Juli 2021 hilft ein AKS-Clusterupgrade automatisch beim Drehen der Clusterzertifikate. Diese Verhaltensänderung wird jedoch für ein abgelaufenes Clusterzertifikat nicht wirksam. Wenn ein Upgrade nur die folgenden Aktionen ausführt, werden die abgelaufenen Zertifikate nicht erneuert:
- Upgrade eines Knotenimages.
- Führen Sie ein Upgrade eines Knotenpools auf dieselbe Version durch.
- Upgrade eines Knotenpools auf eine neuere Version.
Nur ein vollständiges Upgrade (d. h. ein Upgrade für die Steuerebene und den Knotenpool) hilft bei der Verlängerung der abgelaufenen Zertifikate.
Weitere Informationen
- Allgemeine Schritte zur Problembehandlung finden Sie unter Grundlegende Problembehandlung bei Fehlern von Node Not Ready.