Kubernetes ile container yönetimi nasıl yapılır? Adım adım başlangıç rehberi
Kubernetes, containerize edilmiş uygulamaları otomatik olarak dağıtmak, ölçeklendirmek ve yönetmek için kullanılan açık kaynaklı bir orkestrasyon platformudur. İşte Kubernetes ile container yönetimine başlamak için temel adımlar:
1. Kubernetes Kümesi (Cluster) Kurulumu: Öncelikle bir Kubernetes kümesi oluşturmanız gerekir. Minikube (yerel geliştirme için), kubeadm (manuel kurulum) veya bulut sağlayıcılarının yönetilen Kubernetes hizmetleri (Google Kubernetes Engine, Amazon EKS, Azure AKS) kullanılabilir.
2. Pod Oluşturma: Kubernetes'te en küçük dağıtılabilir birim Pod'dur. Bir veya daha fazla container içerebilir. Pod oluşturmak için YAML veya JSON formatında bir manifest dosyası yazılır. Örneğin, basit bir Nginx pod'u için nginx-pod.yaml dosyası oluşturup kubectl apply -f nginx-pod.yaml komutuyla çalıştırılır.
3. Deployment ile Yönetim: Pod'ları doğrudan yönetmek yerine Deployment kullanmak daha iyidir. Deployment, istenen pod sayısını, güncelleme stratejilerini ve geri alma işlemlerini tanımlar. Örneğin, 3 replikalı bir Nginx deployment'ı oluşturmak için kubectl create deployment nginx --image=nginx --replicas=3 komutu kullanılabilir.
4. Servisler ile Erişim: Pod'lar dinamik IP'lere sahip olduğundan, uygulamaya sabit bir IP veya DNS üzerinden erişmek için Service kaynağı kullanılır. ClusterIP (iç erişim), NodePort (dış erişim) veya LoadBalancer (bulut yük dengeleyici) türleri mevcuttur.
5. Ölçeklendirme ve Güncelleme: Deployment'ı ölçeklendirmek için kubectl scale deployment nginx --replicas=5 komutu kullanılır. Yeni bir imaj sürümüne geçmek için kubectl set image deployment/nginx nginx=nginx:1.21 komutuyla rolling update yapılır. Sorun olursa kubectl rollout undo deployment/nginx ile geri alınabilir.
6. İzleme ve Yönetim: Kubernetes Dashboard, kubectl komutları veya Prometheus gibi araçlarla küme durumu izlenir. kubectl get pods, kubectl logs ve kubectl describe sık kullanılan komutlardır.
Bu adımları takip ederek Kubernetes ile container yönetimine hızlıca başlayabilir ve uygulamalarınızı ölçeklenebilir şekilde dağıtabilirsiniz. Daha fazla bilgi için Kubernetes resmi dokümantasyonunu inceleyin.