Felsöka nodfel som inte är redo om det finns utgångna certifikat
Den här artikeln hjälper dig att felsöka scenarier som inte är redo för noder i ett Aks-kluster (Microsoft Azure Kubernetes Service) om det finns utgångna certifikat.
Förutsättningar
- Azure CLI
- OpenSSL-kommandoradsverktyget för certifikatvisning och signering
Symptom
Du upptäcker att en AKS-klusternod är i tillståndet Nod inte redo.
Orsak
Det finns ett eller flera utgångna certifikat.
Skydd: Kör OpenSSL för att signera certifikaten
Kontrollera förfallodatum för certifikat genom att anropa kommandot openssl-x509 enligt följande:
För vm-skalningsuppsättningsnoder använder du kommandot 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"
För noder för VM-tillgänglighetsuppsättningar använder du kommandot 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"
Du kan få vissa felkoder när du har anropat dessa kommandon. Information om felkoderna 50, 51 och 52 finns i följande länkar efter behov:
- Felsök felkoden OutboundConnFailVMExtensionError (50)
- Felsöka felkoden K8SAPIServerConnFailVMExtensionError (51)
- Felsöka felkoden K8SAPIServerDNSLookupFailVMExtensionError (52)
Om du får felkod 99 indikerar detta att kommandot apt-get update blockeras från att komma åt en eller flera av följande domäner:
- security.ubuntu.com
- azure.archive.ubuntu.com
- nvidia.github.io
Om du vill tillåta åtkomst till dessa domäner uppdaterar du konfigurationen av eventuella blockerande brandväggar, nätverkssäkerhetsgrupper (NSG:er) eller virtuella nätverksinstallationer (NVA).
Lösning: Rotera certifikaten
Du kan använda automatisk rotation av certifikat för att rotera certifikat i noderna innan de upphör att gälla. Det här alternativet kräver ingen stilleståndstid för AKS-klustret.
Om du kan hantera driftstopp i klustret kan du rotera certifikaten manuellt i stället.
Obs!
Från och med den 15 juli 2021, versionen av AKS, hjälper en AKS-klusteruppgradering automatiskt att rotera klustercertifikaten. Den här beteendeförändringen börjar dock inte gälla för ett utgånget klustercertifikat. Om en uppgradering bara vidtar följande åtgärder förnyas inte de utgångna certifikaten:
- Uppgradera en nodbild.
- Uppgradera en nodpool till samma version.
- Uppgradera en nodpool till en nyare version.
Endast en fullständig uppgradering (d.v.s. en uppgradering för både kontrollplanet och nodpoolen) hjälper till att förnya de utgångna certifikaten.
Mer information
- Allmänna felsökningssteg finns i Grundläggande felsökning av nodfel som inte är redo.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för