Kubernetes Sondy ożywcze

Kubernetes Sondy ożywcze

Kubernetes wykorzystuje sondy ożywcze, aby zdecydować, kiedy ponownie uruchomić pojemnik. Istnieją trzy typy konfiguracji ProbS dla pojemników, startup, gotowości i żywotności. Sonda uruchamiania jest zdefiniowana w środowisku Kubernetes, aby poinformować klaster, kiedy uruchomić aplikację kontenerową. Sonda gotowości jest używana przez kontener Kubernetes do sprawdzenia, kiedy może zacząć akceptować ruch. Jednak w celu ustalenia, kiedy ponownie uruchomić pojemnik, stosowane są sondy ożywcze. W tym przewodniku zbadamy dogłębną sondę żywotności i dowiemy się, jak i kiedy użyć jej w środowisku Kubernetes.

Co to jest sonda ożywowości w Kubernetes?

Klaster w Kubernetes przechodzi przez różne etapy w pełnym cyklu życia, mając różne stany. Stany te mogą być sprawdzone przez sondy, które są zautomatyzowanym procesem sprawdzania bieżącego stanu klastra. Krótko mówiąc, sondy ożywowości są sprawdzaniem zdrowia klastrów. Jest to mechanizm dostarczany przez Kubernetes, który służy do sprawdzenia, czy aplikacje są odpowiednio uruchomione w pojemniku, czy nie.

Sonda żywotności służy do upewnienia się, że aplikacja jest odpowiednio uruchomiona w pojemniku i że jest na żywo. Te sondy są używane, aby wiedzieć, kiedy ponownie uruchomić pojemniki, jeśli nie działają lub nie są w trybie aktywnym. Każda aplikacja, która jest zepsuta, zatrzymana przez błąd lub przejście do złamanego stanu, jest wybierana i można ją naprawić przez ponowne uruchomienie klastra. Nic więcej nie jest zrobione, jeśli sonda ożywcze z powodzeniem w korygowaniu aplikacji. Jeśli jednak się nie powiedzie, dziennik zdarzeń jest utrzymywany, a polecenia Kubectl są używane do zabicia kontenera zgodnie z konfiguracją restartpolicy.

W jaki sposób sonda ożywowości działa na klastrze Kubernetes?

Sonda żywotności to zautomatyzowany proces używany do sprawdzenia stanu klastra w środowisku Kubernetes. Sonda żywotności okresowo wysyła żądanie HTTP lub uruchamia polecenie do punktu końcowego na kontenerze i czeka na odpowiedź. W przypadku, gdy kontener nie odpowiada, zwraca awarię; lub jeśli żadna odpowiedź nie pojawi się w określonym ramie czasowym, sonda ożywowości ponownie uruchamia pojemnik.

Sondy ożywcze dostarczają szczegółowych szczegółów na poziomie ziarnistym, czy aplikacja jest odpowiednio uruchomiona w klastrze, czy nie. Domyślnie kontroler Kubernetes określa, czy strąka działa, czy nie. Jeśli kapsułek nie działa, sondy ożywcze uruchamiają ponownie uruchom. W niektórych przypadkach kapsuły działają prawidłowo, ale aplikacja mogła się nieprawidłowo działać. Wszystkie te ziarniste szczegóły można sprawdzić za pomocą sond ożywkowych.

Dowiedzmy się, jak zdefiniować sondę ożywowości dla klastra w środowisku Kubernetes, postępując zgodnie z podanym przewodnikiem krok po kroku poniżej.

Wymagania wstępne:

Zanim dowiesz się, jak zdefiniować sondę ożywowości w środowisku Kubernetes, upewnij się, że masz odpowiedni system. Niektóre narzędzia muszą być poprawnie zainstalowane i skonfigurowane w środowisku Kubernetes, aby zdefiniować sondę ożywowości. Zobacz listę narzędzi wymienionych tutaj:

    • Ubuntu 22.024 lub dowolną inną najnowszą wersję
    • Narzędzie wiersza poleceń kubectl
    • Kubernetes Cluster
    • Minikube klaster
    • Minimum dwóch węzłów, które nie działają jako host płaszczyzny

Po skonfigurowaniu tych narzędzi w systemie możesz zdefiniować sondę ożywkowym dla klastra Kubernetes. Zakładając, że system jest przygotowany i gotowy do pracy, przechodzimy do następnej sekcji.

Jak zdefiniować sondę ożywkowym dla klastra Kubernetes?

Niektóre aplikacje działają w klastrze Kubernetes przez długi okres i ostatecznie przechodzą do zepsutego lub nieudanego stanu. Stany te są wystarczająco uparte, których nie można rozwiązać bez ponownego uruchomienia pojemnika, w którym działają. Sondy ożywcze są zdefiniowane w celu wykrycia takich stanów i zaplanowania ponownego uruchomienia klastra w razie potrzeby. Więc tutaj nauczymy Cię, jak zdefiniować sondę ożywowości dla klastra Kubernetes.

Krok # 1: Rozpocznij klaster minikube

Najpierw musisz założyć swój klaster minikube, aby upewnić się, że działa poprawnie. Klaster można uruchomić przy użyciu polecenia podanego poniżej:

> Minikube start


Krok # 2: Utwórz kapsułkę

Mamy plik konfiguracyjny YAML, którego będziemy używać do utworzenia kapsułki w kontenerze. Plik konfiguracyjny zawiera definicję wdrażania dla POD. Użyj narzędzia wiersza poleceń, aby uruchomić następujące polecenie, aby wdrożyć POD w klastrze Kubernetes:

> kubectl Zastosuj -f https: // k8s.IO/Przykłady/PODS/sonda/hodowla.Yaml



Na podstawie powyższego wyjścia można zauważyć, że pod nazwą „Liverse-Exec” została utworzona z pliku konfiguracyjnego YAML. Teraz zastosujemy sondy ożywowości na kapsuły, aby za każdym razem, gdy strąki dostały się w trybie nieaktywnym, zostaną ponownie uruchomione za pomocą sondy ożywowości.

Krok # 3: Wyświetl wydarzenia POD

Teraz sprawdźmy dziennik zdarzeń kapsuły, które stworzyliśmy w poprzednim kroku, aby sprawdzić, jak działa sonda ożywowości nad tym kapsule. Aby sprawdzić zdarzenia kapsuła, użyjemy następującego polecenia:

> Kubectl Opisz podnoszących się pod



Na podstawie wyżej podanego powyżej widać, że sonda ożywowości działa na kapsule po 5 sekundach, aby sprawdzić, czy nadal jest aktywna, czy nie. Możesz również zauważyć, że sonda ożywowości jest kiedyś powodzeniem i nie powiodła się trzykrotnie. Jeśli sonda ożywowości utrzyma się, że się nie powiodło, pojemnik zostanie zabity i odtworzony.

Krok # 4: Sprawdź ponownie kontener

Ponieważ sonda żywotności zawiodła trzy razy, sprawdźmy, czy kapsuł. Korzystając z następującego polecenia, możemy określić status POD:

> kubectl zdobądź podsekwat-exec


Wniosek

Badamy sondy Kubernetes zdefiniowane dla kontenerów. Istnieją trzy rodzaje sond określonych dla pojemników w środowisku Kubernetes: żywotność, startup i gotowość. Dokument ten koncentrował się na sondzie ożywowości, która jest używana do ponownego uruchomienia klastra w dowolnym momencie. Sonda ożywowości to sprawdzanie zdrowia, które zapewnia, że ​​klaster jest prawidłowo uruchomiony.