Problembehandlung von Knotenfehlern, die nicht bereit sind, wenn abgelaufene Zertifikate vorhanden sind
Dieser Artikel hilft Ihnen bei der Problembehandlung von Node Not Ready-Szenarien in einem AKS-Cluster (Microsoft Azure Kubernetes Service), wenn abgelaufene Zertifikate vorhanden sind.
Voraussetzungen
- Azure CLI
- Das OpenSSL-Befehlszeilentool für die Zertifikatanzeige und -signatur
Problembeschreibung
Sie stellen fest, dass sich ein AKS-Clusterknoten im Zustand Knoten nicht bereit befindet.
Ursache
Es gibt mindestens ein abgelaufenes Zertifikat.
Verhinderung: Führen Sie OpenSSL aus, um die Zertifikate zu signieren.
Ü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ügbarkeitsgruppenknoten 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"
Nach dem Aufrufen dieser Befehle erhalten Sie möglicherweise bestimmte Fehlercodes. Informationen zu den Fehlercodes 50, 51 und 52 finden Sie ggf. unter den folgenden Links:
- Problembehandlung für den Fehlercode "OutboundConnFailVMExtensionError" (50)
- Problembehandlung für den Fehlercode K8SAPIServerConnFailVMExtensionError (51)
- Problembehandlung für den Fehlercode K8SAPIServerDNSLookupFailVMExtensionError (52)
Wenn Sie den Fehlercode 99 erhalten, gibt dies an, dass der Befehl apt-get update für den Zugriff auf eine oder mehrere der folgenden Domänen blockiert wird:
- security.ubuntu.com
- azure.archive.ubuntu.com
- nvidia.github.io
Um den Zugriff auf diese Domänen zuzulassen, aktualisieren Sie die Konfiguration aller blockierenden Firewalls, Netzwerksicherheitsgruppen (NSGs) oder virtuellen Netzwerkgeräten (NETWORK Virtual Appliances, NVAs).
Lösung: Rotieren der Zertifikate
Sie können die automatische Zertifikatrotation anwenden, um Zertifikate in den Knoten zu rotieren, bevor sie ablaufen. Diese Option erfordert keine Ausfallzeiten für den AKS-Cluster.
Wenn Sie Clusterausfallzeiten bewältigen können, können Sie die Zertifikate stattdessen manuell rotieren .
Hinweis
Ab der Veröffentlichung von AKS vom 15. Juli 2021 hilft ein AKS-Clusterupgrade automatisch bei der Rotation 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 verlängert:
- Führen Sie ein Upgrade für ein Knotenimage durch.
- Aktualisieren Sie einen Knotenpool auf die gleiche Version.
- Führen Sie ein Upgrade eines Knotenpools auf eine neuere Version durch.
Nur ein vollständiges Upgrade (d. h. ein Upgrade für die Steuerungsebene und den Knotenpool) hilft, die abgelaufenen Zertifikate zu erneuern.
Weitere Informationen
- Allgemeine Schritte zur Problembehandlung finden Sie unter Grundlegende Problembehandlung bei Knotenfehlern, die nicht bereit sind.