Rozwiązywanie problemów z kodem błędu K8SAPIServerDNSLookupFailVMExtensionError (52)
W tym artykule omówiono sposób identyfikowania i rozwiązywania błędu K8SAPIServerDNSLookupFailVMExtensionError
(znanego również jako kod błędu ERR_K8S_API_SERVER_DNS_LOOKUP_FAIL, numer błędu 52), który występuje podczas próby uruchomienia lub utworzenia i wdrożenia klastra usługi Microsoft Azure Kubernetes Service (AKS).
Wymagania wstępne
Narzędzie wyszukiwania DNS nslookup dla węzłów systemu Windows lub narzędzia do kopania dla węzłów systemu Linux.
Interfejs wiersza polecenia platformy Azure w wersji 2.0.59 lub nowszej. Jeśli interfejs wiersza polecenia platformy Azure jest już zainstalowany, możesz znaleźć numer wersji, uruchamiając polecenie
az --version
.
Symptomy
Podczas próby rozpoczęcia lub usunięcia klastra usługi AKS zostanie wyświetlony następujący komunikat o błędzie:
Agenci nie mogą rozpoznać nazwy serwera interfejsu API platformy Kubernetes. Prawdopodobnie niestandardowy serwer DNS nie jest poprawnie skonfigurowany, zobacz https://aka.ms/aks/private-cluster#hub-and-spoke-with-custom-dns , aby uzyskać więcej informacji.
Szczegóły: Code="VMExtensionProvisioningError"
Message="Maszyna wirtualna zgłosiła błąd podczas przetwarzania rozszerzenia "vmssCSE".
Komunikat o błędzie: "Enable failed: failed to execute command: command terminated with exit status=52\n[stdout]\n{
"ExitCode": "52",
"Output": "Fri Oct 15 10:06:00 UTC 2021,aks- nodepool1-36696444-vmss000000\nConnection to mcr.microsoft.com 443 port [tcp/https]
Przyczyna
Węzły klastra nie mogą rozpoznać w pełni kwalifikowanej nazwy domeny klastra (FQDN) w usłudze Azure DNS. Uruchom następujące polecenie wyszukiwania DNS w węźle klastra, które zakończyło się niepowodzeniem, aby znaleźć prawidłowe rozwiązania DNS.
System operacyjny węzła | Polecenie |
---|---|
Linux | dig <cluster-fqdn> |
Windows | nslookup <cluster-fqdn> |
Rozwiązanie
Na serwerach DNS i zaporze upewnij się, że nic nie blokuje rozpoznawania nazwy FQDN klastra. Niestandardowy serwer DNS może być niepoprawnie skonfigurowany, jeśli coś blokuje się nawet po uruchomieniu nslookup
polecenia lub dig
i zastosuj wszelkie niezbędne poprawki. Aby uzyskać pomoc dotyczącą konfigurowania niestandardowego serwera DNS, zapoznaj się z następującymi artykułami:
- Tworzenie prywatnego klastra usługi AKS
- Prywatna usługa Azure Kubernetes z niestandardowym serwerem DNS
- Co to jest adres IP 168.63.129.16?
Gdy używasz klastra prywatnego z niestandardowym systemem DNS, zostanie utworzona strefa DNS. Strefa DNS musi być połączona z siecią wirtualną. Dzieje się tak po utworzeniu klastra. Tworzenie klastra prywatnego z niestandardowym systemem DNS kończy się niepowodzeniem podczas tworzenia. Można jednak przywrócić proces tworzenia do stanu "powodzenia", uzgadniając klaster. W tym celu uruchom polecenie az resource update w interfejsie wiersza polecenia platformy Azure w następujący sposób:
az resource update --resource-group <resource-group-name> \
--name <cluster-name> \
--namespace Microsoft.ContainerService \
--resource-type ManagedClusters
Sprawdź również, czy serwer DNS jest poprawnie skonfigurowany dla klastra prywatnego zgodnie z wcześniejszym opisem.
Uwaga 16.
Przekazywanie warunkowe nie obsługuje poddomen.
Więcej informacji
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.