Spring Boot Mikroservislerinizi Kubernetes ile Yönetme

Kubernetes Nedir?
Kubernetes, konteynerleştirilmiş uygulamaların otomatik olarak dağıtılması, ölçeklenmesi ve yönetilmesi için açık kaynaklı bir platformdur. Mikroservis mimarisine sahip uygulamaları yönetmek için idealdir.
Spring Boot Mikroservislerinizi Kubernetes ile Orkestre Etme
Spring Boot mikroservislerinizi Kubernetes üzerinde çalıştırmak için şu adımları izleyin:
1. Docker İmajını Hazırlama
Spring Boot uygulamanızın Docker imajını oluşturduktan sonra (önceki yazımızda anlatıldığı gibi), bu imajı bir Docker registry’e push etmeniz gerekmektedir. Örneğin, Docker Hub kullanıyorsanız:
docker login
docker tag spring-boot-demo your-dockerhub-username/spring-boot-demo
docker push your-dockerhub-username/spring-boot-demo
2. Kubernetes Konfigürasyon Dosyaları Oluşturma
Projenizin ana dizininde deployment.yaml
ve service.yaml
dosyalarını oluşturun.
Deployment Konfigürasyonu (deployment.yaml
)
apiVersion: apps/v1
kind: Deployment
metadata:
name: spring-boot-demo
spec:
replicas: 3
selector:
matchLabels:
app: spring-boot-demo
template:
metadata:
labels:
app: spring-boot-demo
spec:
containers:
- name: spring-boot-demo
image: your-dockerhub-username/spring-boot-demo
ports:
- containerPort: 8080
Service Konfigürasyonu (service.yaml
)
apiVersion: v1
kind: Service
metadata:
name: spring-boot-demo
spec:
selector:
app: spring-boot-demo
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: LoadBalancer
3. Kubernetes Cluster’ına Uygulamayı Dağıtma
Yukarıdaki konfigürasyon dosyalarını kullanarak uygulamanızı Kubernetes cluster’ına dağıtın. Minikube veya bir bulut sağlayıcısının (Google Kubernetes Engine, AWS EKS, Azure AKS) Kubernetes hizmetini kullanabilirsiniz.
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
Bu komutlar, Kubernetes cluster’ınıza uygulamanızı dağıtır ve erişilebilir hale getirir.
4. Uygulamayı İzleme
Kubernetes, dağıtılmış uygulamalarınızı izlemek ve yönetmek için çeşitli araçlar sunar. kubectl get pods
, kubectl get services
ve kubectl logs
komutları ile uygulamanızın durumunu kontrol edebilirsiniz.
kubectl get pods
kubectl get services
kubectl logs <pod-name>
Sonuç
Bu makalede, Spring Boot mikroservislerinizi Kubernetes üzerinde nasıl çalıştıracağınızı öğrendiniz. Kubernetes ile uygulamalarınızı daha esnek ve ölçeklenebilir hale getirebilirsiniz. Bir sonraki yazımızda, Spring Boot ve Kubernetes ile CI/CD süreçlerini nasıl otomatikleştirebileceğinizi ele alacağız.