Sondy gotowości Kubernetes

Sondy gotowości Kubernetes
Kubernetes to fantastyczna struktura wdrażania mikrousług i aplikacji. Gdy kapsuły nie działają poprawnie, są ponownie uruchomione lub usuwane z usługi, co jest wspaniałą cechą. Kubernetes wymaga naszej pomocy w ustaleniu, czy kapsuł. Do skonfigurowania tego sondy kontenerów są używane. W tym artykule postaramy się zrozumieć, czym są sondy gotowości Kubernetes i jak to działa.

Jakie są sondy gotowości?

Kubernetes używa sond związanych z gotowością, aby dowiedzieć się, kiedy jest bezpieczny do przesyłania ruchu do kapsułki lub kiedy nadszedł czas, aby przenieść kapsułkę do gotowego stanu.

Sonda gotowości oceni, czy konkretny kapsułek zaakceptuje ruch, jeśli zostanie wykorzystany jako punkt końcowy backend dla usługi.

Sonda gotowości biegnie do końca życia kapsuła; Oznacza to, że działa nawet po osiągnięciu strąka do stanu gotowego. Ponadto nasza aplikacja może być niedostępna do konserwacji lub pracy w tle, odpowiadając na sondę z różnymi odpowiedziami.

Wskazuje, czy kontener jest gotowy do zaakceptowania zapytań. W przypadku, gdy sonda gotowości niszczy z jakiegokolwiek powodu, kontroler punktów końcowych eliminuje adres IP kapsułów z punktów końcowych wśród wszystkich usług, które spełniają POD. Awaria jest domyślnym warunkiem gotowości przed początkowym opóźnieniem.

Kiedy powinieneś użyć sondy gotowości?

Sonda gotowości może być taka jak sonda ożywowości (która określa, kiedy pojemnik powinien zostać ponownie uruchomiony) w tym scenariuszu. Ale obecność sondy gotowości w specyfikacji sugeruje, że kapsuł.

Możesz użyć zarówno żywotności, jak i sondy gotowości, jeśli Twoja aplikacja jest bardzo zależna od usług backend. Sonda gotowości zapewnia, że ​​każda niezbędna usługa zaplecza jest dostępna, oprócz sondy ożywowości, która przechodzi, gdy aplikacja jest zdrowa. Zapobiega to wysyłaniu ruchu do strąków, które mogą reagować tylko z komunikatami o błędach.

Sonda uruchamiania może pomóc, jeśli kontener wymaga załadowania dużej ilości danych, plików konfiguracyjnych lub migracji podczas uruchamiania. Sonda gotowości jest dość przydatna, jeśli chcesz rozróżnić aplikację, która się nie powiodła, a drugą, która wciąż przetwarza swoje pierwsze dane.

Warunek wstępny

Przed użyciem sondy gotowości Kubernetes należy spełnić kilka warunków wstępnych. Ubuntu 20.0 to system operacyjny Linux, który należy najpierw zainstalować. Ponieważ wymaga tego Kubernetes w Linux, zainstaluj również klaster minikube.

Przed przejściem do terminalu wiersza poleceń musimy najpierw uruchomić Ubuntu 20.04, który został już zainstalowany. Wpisz „Terminal” w Ubuntu 20.04 SYSTEM SYSTEMU, aby szybko uruchomić terminal.

Następnie należy rozpocząć minikube. Aby uruchomić minikube, użyj polecenia terminala „Minikube start.„To polecenie uruchomi klaster Kubernetes i utworzy maszynę wirtualną zdolną do wykonania klastra. Wyjście polecenia „Minikube Start” przedstawiono poniżej:

Przykład sond gotowości Kubernetes

Możemy skonfigurować przykładową aplikację. W takim przypadku prosty serwer WWW Nginx, aby zrozumieć, jak działają sondy gotowości. Opracowaliśmy podstawową konfigurację wdrażania tutaj. Każdy aspekt pliku konfiguracyjnego jest prezentowany na obu załączonych zrzutach ekranu:

Ta konfiguracja powinna zostać zapisana w pliku o nazwie gotowości.Yaml.

Następnie użyj Kubectl Zastosuj gotowość.YAML, aby go zastosować. Instrukcja i jej wyjście można zobaczyć na poniższym zrzucie ekranu:

Teraz opracowaliśmy usługę dla pełnego zrozumienia przykładu.

Zapisz tę konfigurację w SVC.plik YAML.

Następnie użyj Kubectl Zastosuj -f SVC.YAML, aby go zastosować. Instrukcja i jej wyjście można zobaczyć na poniższym zrzucie ekranu:

Chociaż nie ma konkretnego punktu końcowego dla sond gotowości, możemy uzyskać informacje o ich obecnym stanie, uruchamiając polecenie Kubectl Opisz Pods. Uruchom polecenie Kubectl Pobierz PODS i sprawdź status kapsułów i innych szczegółów.

Pokry będą wyświetlane wraz z ich statusem i stanami gotowymi. Jak widać, nasz kapsuła działa zgodnie z planem. Instrukcja i jej wyjście można zobaczyć na zrzucie ekranu podanym poniżej:

Wynik „Kubectl Opis Pod” jest dołączony poniżej. Instrukcja i jej wyjście można zobaczyć na poniższym zrzucie ekranu:

Sekcja zdarzeń zostanie wyświetlona na dole wyjścia następujące polecenie:

Za pomocą polecenia Kubectl otrzymaj punkty końcowe, możemy zbadać punkty końcowe. Usługa Nginx ma punkt końcowy, jak można zobaczyć. Instrukcja i jej wyjście można zobaczyć na poniższym zrzucie ekranu:

Możemy użyć polecenia Kubectl Opisz punkty końcowe Nginx, aby zobaczyć więcej informacji. Instrukcja i jej wyjście można zobaczyć na poniższym zrzucie ekranu:

Załóżmy, że ustawiliśmy parametr portu dla sondy gotowości na 81 i zapisujemy konfigurację. Najpierw zweryfikuj status kapsuła bezpośrednio. Stan „działa”, jak widać poniżej. Instrukcja i jej wyjście można zobaczyć na poniższym zrzucie ekranu:

Ponieważ nie zaktualizowaliśmy portu 81, zwróciło wartość logiczną „true”, jak pokazano na zrzucie ekranu poniżej. Jeśli zmienisz port 81 i jeśli zostanie pomyślnie zaktualizowany, zwróci „Fałsz”, wskazując, że usługa Nginx nie ma punktów końcowych, ponieważ kontener nie jest gotowy na odbieranie ruchu. Instrukcja i jej wyjście można zobaczyć na zrzucie ekranu poniżej.

Wniosek:

W tym artykule zaobserwowano efekty sondy gotowości, a parametry, które można skonfigurować. Chociaż skupiliśmy się na kontroli HTTP, nauczyone przez nas techniki można zastosować do dowolnego z innych testów. Aby skonfigurować i obsługiwać sondy gotowości, musisz najpierw zrozumieć architekturę i zależności swojej aplikacji. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i artykułów.