Jakie są rodzaje testów służących do sprawdzania stanu usług i aplikacji?
sobes.tech AI
Odpowiedź od AI
Istnieje kilka powszechnych rodzajów sond:
-
Sonda żywotności (Liveness): Określa, czy aplikacja działa. Jeśli sonda zawiedzie, Kubernetes ponownie uruchomi pod. Używana do wykrywania zawieszonych procesów.
- Sondy HTTP Get: Wysyła żądania HTTP GET na określoną ścieżkę i port.
- Sondy gniazda TCP: Sprawdza możliwość połączenia z określonym portem.
- Sondy wykonania: Wykonuje polecenie wewnątrz kontenera i sprawdza kod zwrotu.
-
Sonda gotowości (Readiness): Określa, czy pod jest gotowy do przyjmowania ruchu. Jeśli sonda zawiedzie, usługa nie kieruje ruchu do tego poda. Używana do określenia gotowości aplikacji po uruchomieniu lub podczas aktualizacji.
- Używa tych samych mechanizmów co sondy żywotności (HTTP Get, gniazdo TCP, wykonanie).
-
Sonda uruchomienia (Startup): Określa, czy inicjalizacja aplikacji została zakończona. Jeśli sonda jest skonfigurowana, Kubernetes nie będzie wykonywał sond żywotności i gotowości, dopóki sonda uruchomienia nie zakończy się pomyślnie. Przydatne dla wolno uruchamiających się aplikacji, aby zapobiec przedwczesnym ponownym uruchomieniom.
- Używa tych samych mechanizmów co inne sondy.
Przykład konfiguracji w Kubernetes:
livenessProbe: # Sprawdzanie żywotności
httpGet: # Przez HTTP
path: /healthz # Ścieżka
port: 8080 # Port
initialDelaySeconds: 15 # Opóźnienie przed pierwszym sprawdzeniem
timeoutSeconds: 1 # Czas oczekiwania na odpowiedź
readinessProbe: # Sprawdzanie gotowości
tcpSocket: # Przez TCP
port: 8080 # Port
initialDelaySeconds: 5 # Opóźnienie przed pierwszym sprawdzeniem
periodSeconds: 10 # Interwał między sprawdzeniami