Rozwiązywanie problemów z kodem błędu K8SAPIServerDNSLookupFailVMExtensionError (52)
W tym artykule omówiono sposób identyfikowania i rozwiązywania błędu (znanego K8SAPIServerDNSLookupFailVMExtensionError
również jako kod błędu ERR_K8S_API_SERVER_DNS_LOOKUP_FAIL, błąd nr 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ędzie do wyszukiwania 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 uruchomienia lub utworzenia klastra usługi AKS zostanie wyświetlony następujący komunikat o błędzie:
Agenci nie mogą rozpoznać nazwy serwera interfejsu API 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: "Włącz nie powiodło się: nie można wykonać polecenia: polecenie zakończone ze stanem zakończenia=52\n[stdout]\n{
"ExitCode": "52",
"Dane wyjściowe": "Pt. 15 października 10:06:00 UTC 2021,aks- nodepool1-36696444-vmss0000000\nPołączenie z portem mcr.microsoft.com 443 [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 zakończonej niepowodzeniem, aby znaleźć prawidłowe rozwiązania DNS.
System operacyjny węzła | Polecenia |
---|---|
Linux | dig <cluster-fqdn> |
System Windows | nslookup <cluster-fqdn> |
Rozwiązanie
Na serwerach DNS i zaporze upewnij się, że żadne elementy nie blokują rozpoznawania nazw FQDN klastra. Niestandardowy serwer DNS może być niepoprawnie skonfigurowany, jeśli coś blokuje się nawet po uruchomieniu nslookup
polecenia lub dig
i zastosowaniu wszelkich niezbędnych poprawek. 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?
W przypadku korzystania z klastra prywatnego z niestandardowym systemem DNS jest tworzona 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ć stan "powodzenia" procesu tworzenia, 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
Przekazywanie warunkowe nie obsługuje domen podrzędnych.
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 platformy Azure.