Podstawowe rozwiązywanie problemów z błędami Brak gotowości węzła

Ten artykuł zawiera kroki rozwiązywania problemów w celu odzyskania węzłów klastra usługi Microsoft Azure Kubernetes Service (AKS) po awarii. W tym artykule opisano w szczególności najbardziej typowe komunikaty o błędach generowane w przypadku wystąpienia awarii Węzła Nie gotowe i wyjaśniono, jak można wykonać funkcję naprawy węzła dla węzłów systemu Windows i Linux.

Zanim rozpoczniesz

Przeczytaj oficjalny przewodnik rozwiązywania problemów z klastrami Kubernetes. Przeczytaj również przewodnik inżyniera firmy Microsoft dotyczący rozwiązywania problemów z platformą Kubernetes. Ten przewodnik zawiera polecenia dotyczące rozwiązywania problemów z zasobnikami, węzłami, klastrami i innymi funkcjami.

Wymagania wstępne

  • Interfejs wiersza polecenia platformy Azure w wersji 2.31 lub nowszej. Jeśli interfejs wiersza polecenia platformy Azure jest już zainstalowany, możesz znaleźć numer wersji, uruchamiając polecenie az --version.

Podstawowe rozwiązywanie problemów

Usługa AKS stale monitoruje stan kondycji węzłów roboczych i automatycznie naprawia węzły, jeśli staną się w złej kondycji. Platforma Maszyny wirtualnej platformy Azure obsługuje maszyny wirtualne, które napotykają problemy. Usługi AKS i Azure VM współpracują ze sobą, aby zmniejszyć zakłócenia usługi dla klastrów.

Istnieją dwie postacie pulsów w przypadku węzłów:

  • Aktualizuje stan Node obiektu .

  • Obiekty Lease w przestrzeni nazw kube-node-lease. Każdy Node obiekt ma skojarzony Lease obiekt.

W porównaniu do aktualizacji stanu Nodeelementu , element to Lease lekki zasób. Używanie Lease obiektów dla pulsów zmniejsza wpływ tych aktualizacji na wydajność dużych klastrów.

Narzędzie kubelet jest odpowiedzialne za tworzenie i aktualizowanie stanu Node obiektów. Jest on również odpowiedzialny za aktualizowanie Lease obiektów powiązanych z Node obiektami.

  • Narzędzie kubelet aktualizuje węzeł .status w przypadku zmiany stanu lub braku aktualizacji skonfigurowanego interwału. Domyślny interwał .status aktualizacji węzłów wynosi pięć minut, co jest znacznie dłuższe niż domyślny limit czasu 40 sekund dla węzłów, które nie są osiągalne.
  • Narzędzie kubelet tworzy obiekt i aktualizuje go Lease co 10 sekund (domyślny interwał aktualizacji). Lease aktualizacje są wykonywane niezależnie od aktualizacji do węzła .status. Lease Jeśli aktualizacja zakończy się niepowodzeniem, narzędzie kubelet ponawia próbę przy użyciu wycofywania wykładniczego, które rozpoczyna się od 200 milisekund i jest ograniczone do siedmiu sekund.

Nie można zaplanować zasobnika w węźle o stanie NotReady lub Unknown. Zasobnik można zaplanować tylko w węzłach, które są w Ready stanie .

Jeśli węzeł znajduje się w MemoryPressurestanie , DiskPressurelub PIDPressure , musisz zarządzać zasobami, aby zaplanować dodatkowe zasobniki w węźle. Jeśli węzeł jest w NetworkUnavailable trybie, należy poprawnie skonfigurować sieć w węźle.

Usługa AKS zarządza cyklem życia i operacjami węzłów agenta. Modyfikowanie zasobów IaaS skojarzonych z węzłami agenta nie jest obsługiwane. Na przykład dostosowywanie węzła za pośrednictwem połączeń SSH, aktualizowanie pakietów lub zmienianie konfiguracji sieci w węźle nie jest obsługiwane. Aby uzyskać więcej informacji, zobacz Pokrycie obsługi usługi AKS dla węzłów agenta.

Upewnij się, że spełnione są następujące warunki:

  • Klaster jest w stanie Powodzenie (uruchomione). Aby sprawdzić stan klastra w witrynie Azure Portal, wyszukaj i wybierz pozycję Usługi Kubernetes, a następnie wybierz nazwę klastra usługi AKS. Następnie na stronie Przegląd klastra poszukaj w sekcji Podstawy, aby znaleźć stan. Możesz też wprowadzić polecenie az aks show w interfejsie wiersza polecenia platformy Azure.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Przegląd klastra usługi Azure Kubernetes Service (A K S). W sekcji Podstawy stan to

  • Pula węzłów ma stan aprowizacji Powodzenie i Stan zasilania Uruchomione. Aby sprawdzić stan puli węzłów w witrynie Azure Portal, wróć do strony klastra usługi AKS, a następnie wybierz pozycję Pule węzłów. Alternatywnie wprowadź polecenie az aks nodepool show w interfejsie wiersza polecenia platformy Azure.

    Zrzut ekranu witryny Azure Portal przedstawiający pule węzłów klastra usługi Azure Kubernetes Service (A K S). Stan aprowizacji to Powodzenie. Stan zasilania to Uruchomione.

  • Wymagane porty ruchu wychodzącego są otwarte w sieciowych grupach zabezpieczeń i zaporze, aby można było uzyskać dostęp do adresu IP serwera interfejsu API. Aby uzyskać więcej informacji, zobacz Wymagane reguły sieci wychodzącej i nazwy FQDN dla klastrów usługi AKS.

  • Węzły wdrożyły najnowsze obrazy węzłów.

  • Węzły są w Running stanie zamiast Stopped lub Deallocated.

  • Klaster korzysta z obsługiwanej przez usługę AKS wersji rozwiązania Kubernetes.

Więcej informacji

Aby rozwiązać problemy ze stanem węzła, zobacz Rozwiązywanie problemów Not Ready ze zmianą w węźle w dobrej kondycji na stan Nie wszystko gotowe.

Wyłączenie odpowiedzialności za kontakty z osobami trzecimi

Firma Microsoft udostępnia informacje kontaktowe innych firm, aby uzyskać dodatkowe informacje na temat tego tematu. Informacje te mogą zostać zmienione bez powiadomienia. Firma Microsoft nie gwarantuje dokładności informacji kontaktowych innych firm.