Rozwiązywanie typowych błędów automatycznego naprawiania węzłów
Gdy usługa Azure Kubernetes Service (AKS) wykryje węzeł ze stanem NotReady
przez ponad pięć minut, próbuje automatycznie naprawić węzeł. Automatyczna naprawa węzła to usługa, która jest najlepszym rozwiązaniem. Nie gwarantuje, że węzeł można przywrócić do stanu dobrej kondycji. Aby uzyskać więcej informacji, zobacz proces automatycznego naprawiania węzła.
Podczas procesu automatycznego naprawiania węzła usługa AKS inicjuje reboot
akcje , reimage
i redeploy
w węźle w złej kondycji. Błędy mogą wystąpić z różnych powodów, a kody błędów są wykrywane za pośrednictwem zdarzeń platformy Kubernetes. Zdarzenia platformy Kubernetes umożliwiają monitorowanie stanu węzła i akcji automatycznego naprawiania.
Ten artykuł zawiera potencjalne przyczyny i rozwiązania typowych błędów automatycznego naprawiania węzłów oraz zawiera opis najlepszych rozwiązań dotyczących monitorowania procesu automatycznego naprawiania węzła.
Wymagania wstępne
Sprawdź następujące zdarzenia kubernetes, aby zidentyfikować typ błędu automatycznego naprawiania węzła:
Przyczyna | Komunikat zdarzenia | opis |
---|---|---|
NodeRebootError | Akcja automatycznego naprawiania węzła nie powiodła się z powodu błędu operacji: [kod błędu tutaj] | Emitowane w przypadku wystąpienia błędu z akcją reboot . |
NodeReimageError | Akcja automatycznego naprawiania obrazu węzła nie powiodła się z powodu błędu operacji: [kod błędu tutaj] | Emitowane w przypadku wystąpienia błędu z akcją reimage . |
NodeRedeployError | Akcja ponownego wdrażania węzła nie powiodła się z powodu błędu operacji: [kod błędu tutaj] | Emitowane w przypadku wystąpienia błędu z akcją redeploy . |
Uwaga 16.
Ponieważ węzeł jest już w złej kondycji przed procesem automatycznego naprawiania, w większości przypadków błędy automatycznego naprawiania węzłów nie mają wpływu na klaster lub aplikacje. Jeśli wystąpią błędy automatycznej naprawy węzła, zalecamy wypróbowanie naprawy węzła, postępując zgodnie z instrukcjami w temacie Podstawowe rozwiązywanie problemów z błędami Węzła Nie wszystko gotowe. Jeśli nie możesz przywrócić go do Succeeded
stanu i zobaczyć trwałe błędy zgłaszane przez automatyczne naprawianie węzła, skontaktuj się z pomoc techniczna platformy Azure, aby uzyskać pomoc.
Typowe kody błędów
Kod błędu | Przyczyna i rozwiązanie |
---|---|
VMExtensionProvisioningError | Nie można aprowizować co najmniej jednego rozszerzenia maszyny wirtualnej na maszynie wirtualnej. Aby uzyskać więcej informacji na temat możliwych typów błędów i kroków rozwiązywania problemów, zobacz Rozwiązywanie problemów z kodem błędu ERR_VHD_FILE_NOT_FOUND (124). Aby określić dokładny błąd aprowizacji rozszerzenia maszyny wirtualnej w węźle, wyświetl szczegóły błędu w witrynie Azure Portal. |
InvalidParameter | Ten błąd występuje, jeśli proces automatycznego naprawiania węzła próbuje uzyskać dostęp do węzła, który już nie istnieje. |
scaleSetNameAndInstanceIDFromProviderID nie powiodło się | Ten problem występuje, gdy węzeł nie jest poprawnie aprowizowany. |
Uwierzytelnianie managedIdentityCredential nie powiodło się | Ten problem występuje, gdy węzeł nie jest poprawnie zainicjowany. |
VMRedeploymentFailed | Ten błąd występuje podczas próby ponownego wdrożenia węzła. W takim przypadku pula węzłów może wprowadzić stan niepowodzenia. Aby uzyskać więcej informacji na temat potencjalnych przyczyn i kroków rozwiązywania problemów, zobacz Rozwiązywanie problemów z klastrami lub węzłami usługi Azure Kubernetes Service w stanie niepowodzenia. |
TooManyVMRedeploymentRequests | Ten błąd występuje, gdy klaster przekracza limit żądań ponownego wdrażania maszyny wirtualnej. Redeploy jest jedną z akcji automatycznego naprawiania węzła. Ten błąd oznacza, że redeploy akcja nie może naprawić węzła. Aby rozwiązać problem z brakiem gotowości węzła, zobacz Podstawowe rozwiązywanie problemów z błędami Nie gotowego węzła. |
OutboundConnectivityNotEnabledOnVMSSS | Ten błąd występuje, gdy węzeł lub ogólny zestaw skalowania maszyn wirtualnych nie ma włączonego dostępu wychodzącego. Aby rozwiązać ten problem, włącz bezpieczny dostęp wychodzący dla zestawu skalowania przy użyciu metody, która jest najbardziej odpowiednia dla aplikacji. Aby uzyskać więcej informacji, zobacz "OutboundConnectivityNotEnabledOnVM. Brak łączności wychodzącej skonfigurowanej dla maszyny wirtualnej. |
Najlepsze rozwiązania dotyczące automatycznego naprawiania węzła monitorowania
Usługa AKS domyślnie przechowuje zdarzenia Kubernetes z ostatniej godziny. Zalecamy włączenie usługi Container Insights , aby można było przechowywać zdarzenia przez maksymalnie 90 dni. Możesz również wysyłać zapytania o zdarzenia i konfigurować alerty, aby szybko wykrywać błędy automatycznego naprawiania węzłów.
Automatyczna naprawa węzła to usługa, która jest najlepszym rozwiązaniem. Nie gwarantuje, że węzeł można przywrócić do
Ready
stanu. Zalecamy, aby aktywnie monitorować i ustawiać alerty dotyczące problemów z braką gotowości węzła oraz rozwiązywać te problemy samodzielnie. Aby uzyskać więcej informacji, zobacz podstawowe rozwiązywanie problemów z brakami gotowości węzła.
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.