Sobes.tech
Junior

Hizmetlerin ve uygulamaların durumunu kontrol etmek için hangi tür testler vardır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Mevcut birkaç yaygın prob türü vardır:

  • Liveness Probe: Uygulamanın çalışıp çalışmadığını belirler. Prob başarısız olursa, Kubernetes pod'u yeniden başlatır. Donmuş süreçleri tespit etmek için kullanılır.

    • HTTP Get Probes: Belirtilen yol ve porta HTTP GET istekleri gönderir.
    • TCP Socket Probes: Belirtilen porta bağlanma olasılığını kontrol eder.
    • Exec Probes: Konteyner içinde bir komut çalıştırır ve dönüş kodunu kontrol eder.
  • Readiness Probe: Pod'un trafik almaya hazır olup olmadığını belirler. Prob başarısız olursa, servis bu pod'a trafik yönlendirmez. Uygulamanın başlatma veya güncelleme sırasında hazır olup olmadığını belirlemek için kullanılır.

    • Aynı mekanizmaları kullanır (HTTP Get, TCP Socket, Exec).
  • Startup Probe: Uygulamanın başlatma işleminin tamamlanıp tamamlanmadığını belirler. Prob yapılandırılmışsa, Kubernetes Startup Proba başarılı olana kadar Liveness ve Readiness probalarını çalıştırmaz. Yavaş başlatılan uygulamalar için faydalıdır, erken yeniden başlatmaları önler.

    • Diğer probalarla aynı mekanizmaları kullanır.

Kubernetes'te yapılandırma örneği:

livenessProbe: # Canlılık kontrolü
  httpGet: # HTTP üzerinden
    path: /healthz # Yol
    port: 8080 # Port
  initialDelaySeconds: 15 # İlk kontrol öncesi gecikme
  timeoutSeconds: 1 # Yanıt bekleme süresi
readinessProbe: # Hazır olma kontrolü
  tcpSocket: # TCP üzerinden
    port: 8080 # Port
  initialDelaySeconds: 5 # İlk kontrol öncesi gecikme
  periodSeconds: 10 # Kontroller arasındaki süre