Liveness(canlılık) and Readiness(hazırlık) probe'ları, Pod üzerinde çalışan konteynerın çalışırlığını kontrol etme amacı ile kullanılırlar. Aslında çoğumuzun aşina olduğu load balancer health checklerinden teoride çok da bir farkları yoktur.
Liveness Probe
Uygulamanızı Pod üzerinde konteyner olarak çalıştırdığını varsayalım, ancak bazı nedenlerden dolayı (bellek sızıntısı, cpu kullanımı, uygulama kilitlenme vb. ) uygulamaların isteklerimize yanıt vermediğini ve hata durumunda kaldığını varsayalım.
Liveness probe adı üzerinde canlılık probe'u bu saydığımız durumları kontrol eder ve herhangi bir sıkıntı olması durumunda konteyneri yeniden başlatır.
Readiness Probe
Bazı durumlarda liveness proble problem saptamasa bile uygulamanızın isteklere cevap vermesi için bir dizi gereksinimi vardır. Örneğin bir dataseti doldurmak, başka bir hizmetin canlı olmasını beklemek vb.
Uygulamanızın istekleri bu gereksinimler tamamlanmadan alıp 500 vb gibi hata vermemesi için readiness probe kullanılıyor.
Yük anında veya network vb gibi dar boğazlar oluşup konteyner cevap veremiyorsa yine readiness devreye girip, ilgili konteynerı "not ready" olarak işaretler. Böylece trafik her daim sorunsuz çalışan Podlara/konteynerlara yönlendirilmiş olur.
Linux sistem yöneticisi olarak başladığım kariyerime devops alanında devam ediyorum. Linux, kubernetes, docker ve go en sevdiğim alanlar.. Bunların dışında GCP ve AWS tecrübem var.