Felsök felkoden K8SAPIServerDNSLookupFailVMExtensionError (52)
I den K8SAPIServerDNSLookupFailVMExtensionError
här artikeln beskrivs hur du identifierar och löser felet (kallas även felkod ERR_K8S_API_SERVER_DNS_LOOKUP_FAIL, felnummer 52) som inträffar när du försöker starta eller skapa och distribuera ett AKS-kluster (Microsoft Azure Kubernetes Service).
Förutsättningar
Nslookup DNS-uppslagsverktyget för Windows-noder eller dig-verktyget för Linux-noder.
Azure CLI, version 2.0.59 eller senare. Om Azure CLI redan är installerat kan du hitta versionsnumret genom att köra
az --version
.
Symptom
När du försöker starta eller skapa ett AKS-kluster får du följande felmeddelande:
Agenter kan inte matcha Kubernetes API-servernamn. Det är troligt att den anpassade DNS-servern inte är korrekt konfigurerad. Mer https://aka.ms/aks/private-cluster#hub-and-spoke-with-custom-dns information finns i.
Information: Code="VMExtensionProvisioningError"
Message="VM har rapporterat ett fel vid bearbetning av tillägget "vmssCSE".
Felmeddelande: "Aktivera misslyckades: det gick inte att köra kommandot: kommandot avslutades med slutstatus=52\n[stdout]\n{
"ExitCode": "52",
"Output": "Fre Oct 15 10:06:00 UTC 2021,aks- nodepool1-36696444-vmss00000\nAnslutning till mcr.microsoft.com 443 port [tcp/https]
Orsak
Klusternoderna kan inte matcha klustrets fullständigt kvalificerade domännamn (FQDN) i Azure DNS. Kör följande DNS-uppslagskommando på den misslyckade klusternoden för att hitta giltiga DNS-matchningar.
Nodoperativsystem | Command |
---|---|
Linux | dig <cluster-fqdn> |
Windows | nslookup <cluster-fqdn> |
Lösning
På dns-servrarna och brandväggen ser du till att inget blockerar lösningen på klustrets fullständiga domännamn. Din anpassade DNS-server kan vara felaktigt konfigurerad om något blockerar även efter att du har kört nslookup
kommandot eller dig
och tillämpa eventuella nödvändiga korrigeringar. Mer information om hur du konfigurerar din anpassade DNS-server finns i följande artiklar:
- Skapa ett privat AKS-kluster
- Privat Azure Kubernetes-tjänst med anpassad DNS-server
- Vad är IP-adressen 168.63.129.16?
När du använder ett privat kluster som har en anpassad DNS skapas en DNS-zon. DNS-zonen måste vara länkad till det virtuella nätverket. Detta inträffar när klustret har skapats. Det går inte att skapa ett privat kluster som har en anpassad DNS när det skapas. Du kan dock återställa skapandeprocessen till ett "lyckat" tillstånd genom att förena klustret. Det gör du genom att köra kommandot az resource update i Azure CLI på följande sätt:
az resource update --resource-group <resource-group-name> \
--name <cluster-name> \
--namespace Microsoft.ContainerService \
--resource-type ManagedClusters
Kontrollera också att DNS-servern är korrekt konfigurerad för ditt privata kluster, enligt beskrivningen tidigare.
Kommentar
Villkorsstyrd vidarebefordran stöder inte underdomäner.
Mer information
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.