Rozwiązywanie problemów z niepowodzeniami węzła, po których następuje odzyskiwanie
Ten artykuł zawiera przewodnik rozwiązywania problemów z "Brak gotowości węzła" w klastrach usługi Azure Kubernetes Service (AKS). Gdy węzeł wejdzie w stan "Nie wszystko gotowe", 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 "Nie wszystko gotowe":
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:
- Diagnostyka usługi AKS
- Stan platformy Azure
- Powiadomienia platformy Azure (w przypadku ostatnich przestojów lub okresów konserwacji)
Rozwiązanie
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.
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 doget
serwera interfejsu API.