Sobes.tech
Junior

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