Ten artykuł koncentruje się na sondach uruchamiania. Rola sondy startupowej może sekwencyjnie wykluczać inne sondy. Niezbędne jest dodatkowe użycie sond uruchamiania wraz z sondami ożywowości i gotowości. Obciążenia nie można zmodyfikować przez sondę uruchamiania samodzielnie. W tym artykule przejrzysz, w jaki sposób Kubernetes ocenia stan zdrowia aplikacji za pośrednictwem sond uruchamiania i skonfiguruje kontrole zdrowia za pomocą sond startowych.
Jakie są sondy Kubernetes?
Sondy są również nazywane kontroli zdrowia, które są techniką aplikacji Kubernetes w celu zapewnienia monitorowania stanu wewnętrznego aplikacji za pomocą informacji. Pozwalają klastrze zidentyfikować działające strąki (kontenery), które monitorują zdrowie aplikacji i upewniają się, że tylko zdrowe kapsuły służą ruchowi.
Aplikacje mogą stać się niewiarygodne z różnych powodów, takich jak tymczasowa utrata połączenia, błędy konfiguracji i błędy aplikacji. Deweloperzy monitorują zdrowie aplikacji za pomocą sond. Sondy pomagają programistom poznać status aplikacji, wykorzystanie zasobów i błędów. Łatwo jest skutecznie rozwiązać problemy z aplikacjami, zarządzanie zasobami i organizację zasobów poprzez monitorowanie informacji o aplikacji.
Sondy są używane do wykrycia następujących czynności:
Jakie są rodzaje sond Kubernetes?
Istnieją trzy rodzaje sond Kubernetes. Obejmują one:
Sondy ożywcze
Odpowiada ponowne uruchomienie pojemnika, jeśli wykryje zakaz i nie reaguje.
Sondy gotowości
Jest uważany za opiekuna drzwi przychodzącego ruchu. Ta sonda jest odpowiedzialna za stwierdzenie, że ten kapsuł.
Sondy startupowe
Jest odpowiedzialny za aplikację wdrażaną wewnątrz kontenera. Wskazuje, czy aplikacja rozpoczęła się pomyślnie.
Co to jest sonda startupowa?
Kubernetes może ustalić, czy oprogramowanie, które wykonuje się w pojemniku wewnątrz kapsułki, prawidłowo zaczął używać sond uruchamiania.
Jak widać na poniższym rysunku, aplikacja wewnątrz kapsuły Kluczowe punkty sond startowych Wymagania wstępne tworzenia sondy startupowej Przed pracą z sondą uruchamiania, warunki wstępne to klaster Kubernetes z dwoma węzłami, które nie działają jako hosty i oprogramowanie linii poleceń Kubectl, które należy skonfigurować do komunikacji między klastrami. Jeśli nie utworzyłeś klastra, możesz użyć minikube, aby utworzyć klaster. Istnieją inne opcje placu zabaw Kubernetes, które są dostępne online, których można użyć do utworzenia klastra. Istnieją cztery podstawowe techniki Kubernetes, które są obsługiwane przez sondy startupowe: Exec: Wykonuje polecenie w kontenerze. Kod zerowy wskazuje sukces, a inne kody wskazują na awarię. HTTP: Sprawdź zdrowie aplikacji za pomocą polecenia żądania GET. Sonda HTTP jest uważana za zdrową, jeśli jej odpowiedź znajduje się w zakresie [200-399]. Jeśli Twoja aplikacja nie obsługuje serwera HTTP, utwórz serwer HTTP w aplikacji i odpowiedz na sondę ożywiającą. TCP: Kubernetes otwiera połączenie między określonym portem TCP a pojemnikiem. Jeśli połączenie zakończy się powodzeniem, akceptuje ruch. W przeciwnym razie nie tworzy połączenia. Port TCP działa w imieniu sond HTTP, gdy sonda HTTP nie jest w stanie pracować. GRPC: Określa, czy sonda zakończy się powodzeniem, wysyłając żądanie kontroli zdrowia GRPC do portu wewnątrz kontenera i korzystając z odpowiedzi. Kryterium sukcesu dla sondy i sposób, w jaki jest ona często weryfikowana, są kontrolowane przez kilka podstawowych zmiennych: inideventDelayseConds: Określa czas, który musi minąć między czasem uruchamiania kontenera, a po raz pierwszy używaną sondę (domyślnie: 0, minimum: 0). Okresy okresowe: Określa, jak często sonda jest sprawdzana po początkowym opóźnieniu (domyślnie: 10, minimum: 1). TimeoutSeconds: Wskazuje, jak długo czekać, aż sonda zakończy się i zaznaczyć jako niepowodzenie po przekroczeniu czasu (domyślnie: 1, minimum: 1). AreaureThReshold: Kubernetes wymaga minimalnej sukcesu, aby sonda była uznana za niezdrową, jeśli się powiodła. Pojemnik jest ponownie uruchomiony tylko wtedy, gdy powtórzenia są niezdrowe (domyślnie: 3, minimum: 1). Jak utworzyć sondę uruchamiania Sondy startupowe są wykonywane przez dodanie dyscypliny startupprobe w specyfikacji.pojemniki części odrębnego strąka. Podejście EXEC jest używane w prostym przykładzie sondy uruchamiania, który pokazano następująco, gdzie polecenie działa wewnątrz kontenera: Za pomocą Kubectl dodaj kapsułkę do klastra za pomocą następującego polecenia: Jak chronić powolne pojemniki początkowe za pomocą sond startowych? Dzięki następującej formuły można znaleźć wystarczająco długo, aby pokryć najgorszy czas uruchamiania: Wniosek Sondy ożywcze, gotowości i startupu dla kontenerów, które są wdrażane w kontenerach Kubernetes, muszą być odpowiednio skonfigurowane, jeśli chcesz utrzymać zdrowy klaster Kubernetes. Ten post skoncentrował się na sondzie startupowej, co jest kluczowe, ponieważ pozwala pojemnikom powiadomić Kubernetes po uruchomieniu i są przygotowane do oceny pod kątem posiadania i gotowości. Dobrze jest dodać sondę uruchamiania, gdy używasz sondy o żywności i gotowości. W przeciwnym razie pojemnik może zostać ponownie uruchomiony przed zakończeniem inicjalizacji. W tym artykule implementuje podstawową konfigurację konfiguracji sondy startupowej i opisuje parametry, które mogą być używane przez sondy.
Ścieżka:/Healthz jest punktem końcowym zdrowotnym Applicexample-Startup-Probnia. Awaryjne próg: 12 to kubernetes w przypadku awarii sondy. Okresy okresu: 12 to sposób, w jaki często przeprowadzana jest inspekcja.> Kubectl Zastosuj -f Startup-Probe-Example.yml
Pojemnik zaczyna się i działa normalnie. Możesz to zweryfikować według szczegółów wyświetlanych w Kubectl:> awaryjne
Maksymalny czas rozpoczęcia aplikacji wynosi 3 minuty (20 * 10 = 200). Gdy sonda startupowa po raz pierwszy się powiedzie, sonda ożywowości przechodzi, aby zaoferować szybką odpowiedź na impas kontenera. Pojemnik jest zakończony po 200 sekundach i podlega restartpolicy, jeśli sonda startupowa nigdy się nie powiódła.