Udostępnij za pośrednictwem


Rozwiązywanie problemów z niepowodzeniami węzła, po których następuje odzyskiwanie

Ten artykuł zawiera przewodnik rozwiązywania problemów z węzłem Nie wszystko gotowe" w klastrach usługi Azure Kubernetes Service (AKS). Gdy węzeł przechodzi w stan "NotReady", może zakłócić działanie aplikacji i spowodować, że przestanie odpowiadać. Zazwyczaj węzeł jest automatycznie odzyskiwane po krótkim czasie. Jednak aby zapobiec powtarzającym się problemom i utrzymywać stabilne środowisko, ważne jest, aby zrozumieć podstawowe przyczyny, aby móc wdrożyć skuteczne rozwiązania.

Przyczyna

Istnieje kilka scenariuszy, które mogą spowodować wystąpienie stanu "NotReady":

  • Niedostępność serwera interfejsu API. Powoduje to niepowodzenie sondy gotowości. Uniemożliwia to dołączanie zasobnika do usługi, dzięki czemu ruch nie jest już przekazywany do wystąpienia zasobnika.

  • Błędy hosta maszyny wirtualnej. Aby ustalić, czy wystąpiły błędy hosta maszyny wirtualnej, sprawdź następujące źródła informacji:

Rozwiązanie

Aby rozwiązać ten problem, wykonaj podane dalej czynności.

  1. Uruchom polecenie , kubectl describe node <node-name> aby przejrzeć szczegółowe informacje o stanie węzła. Poszukaj wszelkich komunikatów o błędach lub ostrzeżeń, które mogą wskazywać główną przyczynę problemu.
  2. Sprawdź dostępność serwera interfejsu kubectl get apiservices API, uruchamiając polecenie . Upewnij się, że sonda gotowości jest poprawnie skonfigurowana w pliku YAML wdrożenia.
  3. Sprawdź konfigurację sieci węzła, aby upewnić się, że nie ma problemów z łącznością.
  4. Sprawdź użycie zasobów węzła, takie jak procesor CPU, pamięć i dysk, aby zidentyfikować potencjalne ograniczenia. Aby uzyskać więcej informacji, zobacz Monitorowanie wydajności klastra Kubernetes za pomocą szczegółowych informacji o kontenerze

Aby uzyskać więcej informacji, zobacz Podstawowe rozwiązywanie problemów z niepowodzeniami węzła Nie gotowe.

Zapobieganie

Aby zapobiec wystąpieniu tego problemu w przyszłości, wykonaj co najmniej jedną z następujących akcji:

  • Upewnij się, że warstwa usługi jest w pełni płatna.
  • Zmniejsz liczbę żądań watch i do get serwera interfejsu API.