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