Spring Cloud Kubernetes ile Canlı Yeniden Başlatma (Liveness Probes)

sametklou

Spring Cloud Kubernetes ile Canlı Yeniden Başlatma (Liveness Probes)

Spring Cloud Kubernetes, Kubernetes ortamında uygulamalarımızın sağlığını izlemek ve gerektiğinde yeniden başlatmak için kullanabileceğimiz bir özellik sunar. Bu özellik sayesinde uygulamaların hata durumlarını otomatik olarak algılayabilir ve müdahalede bulunabiliriz.

Liveness Probes Nedir?

Liveness Probes, uygulamaların çalışma durumlarını izlemek için Kubernetes tarafından sağlanan bir özelliktir. Bu özellik sayesinde Kubernetes, uygulamaların sürekli olarak çalışıp çalışmadığını kontrol edebilir ve gerektiğinde yeniden başlatabilir.

Spring Cloud Kubernetes Kullanarak Liveness Probes Nasıl Tanımlanır?

Spring Cloud Kubernetes kullanarak Liveness Probes tanımlamak oldukça kolaydır. Öncelikle, Kubernetes deployment dosyanızda aşağıdaki gibi bir Liveness Probe tanımlamanız gerekmektedir:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 1
  template:
    spec:
      containers:
      - name: my-app
        image: my-image
        livenessProbe:
          httpGet:
            path: /actuator/health
            port: 8080

Yukarıdaki örnekte, my-app deployment'ı için bir Liveness Probe tanımlanmıştır. Bu Probe, uygulamanın /actuator/health endpoint'inden 8080 portu üzerinden sağlık durumunu kontrol edecektir.

Spring Boot Uygulaması için Liveness Probes Nasıl Kullanılır?

Spring Boot uygulamaları için Liveness Probes kullanmak için öncelikle Actuator kütüphanesini projenize eklemeniz gerekmektedir. Daha sonra, application.properties dosyanıza aşağıdaki ayarı ekleyerek Liveness Probe endpoint'ini belirleyebilirsiniz:

management.endpoints.web.exposure.include=liveness

Bu ayar sayesinde, /actuator/liveness endpoint'i oluşturularak Kubernetes tarafından izlenebilir hale gelir.

Sonuç

Spring Cloud Kubernetes ile Liveness Probes kullanarak uygulamalarınızın sağlığını izleyebilir ve gerektiğinde otomatik olarak yeniden başlatabilirsiniz. Bu özellik sayesinde uygulamalarınızın kesintisiz bir şekilde çalışmasını sağlayabilir ve hata durumlarını hızlı bir şekilde çözebilirsiniz.