Kubernetes Liveness ve Readiness Probe Kodlama

0 Respuestas 7 Visitas
·
Participantes
Autor del tema #1
Kubernetes ortamında uygulamalarınızın sağlığını izlemek ve yönetmek için Liveness ve Readiness probe'ları kritik öneme sahiptir. Bu probe'lar, container'ların durumu hakkında Kubernetes'e bilgi verir ve gerektiğinde otomatik yeniden başlatma veya trafiği yönlendirme kararlarını sağlar.

Liveness probe, container'ın canlı olup olmadığını belirler. Eğer bu probe başarısız olursa, Kubernetes container'ı yeniden başlatır. Bu, uygulama takılmaları veya bellek sızıntıları gibi durumlarda kurtarma sağlar. Readiness probe ise, container'ın trafiği almaya hazır olup olmadığını gösterir. Bu probe başarısızsa, Kubernetes container'ı hizmet dışı bırakıp trafiği başka sağlıklı pod'lara yönlendirir.

Kodlama açısından, probe'lar genellikle aşağıdaki yollarla yapılandırılır:

  • HTTP GET: Belirli bir URL'ye GET isteği gönderir. Örneğin, uygulamanızda /health veya /ready endpoint'leri olup olmadığını kontrol edebilirsiniz.
  • TCP Socket: Belirli bir port üzerinden TCP bağlantısı kurar, uygulamanın o portu dinlediğinden emin olur.
  • Exec Komutu: Pod içindeki bir komutu çalıştırır ve çıkış koduna göre durumu belirler.


Örnek bir YAML yapılandırması şöyle olabilir:

CÓDIGO
123456789101112131415livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 15
  periodSeconds: 20
  failureThreshold: 3

readinessProbe:
  httpGet:
    path: /ready
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 10
  failureThreshold: 3


Burada, uygulamanızın /healthz ve /ready endpoint'lerini doğru şekilde hazırlamanız önemli. Ayrıca, initialDelaySeconds, periodSeconds, ve failureThreshold gibi ayarlarla probe'ların ne zaman ve ne sıklıkla kontrol edeceğini belirliyorsunuz. Bu ayarların doğru yapılandırılması, uygulamanın sağlıklı ve kesintisiz çalışmasını sağlar.

Problarınızda sorun yaşarsanız, ilk kontrol edilmesi gerekenler, endpoint'lerin erişilebilirliği ve cevap süreleridir. Ayrıca, uygulama içi loglar ve Kubernetes event'leri, sorunun kaynağını anlamada faydalı olur.

Sizler de uygulama ortamınızda bu probe'ları nasıl yapılandırıyorsunuz? Hangi yöntemleri tercih ediyorsunuz ve karşılaştığınız zorluklar nelerdir?

Debes haber iniciado sesión para responder.

0 citas seleccionadas