## Kubernetes Nedir?
Kubernetes, tıpkı bir orkestra şefi gibi, uygulamalarınızın konteynerler içinde düzgün bir şekilde çalışmasını sağlar. Mikroservis mimarisi ile çalışanlar için oldukça uygun bir ortam sunar. Kubernetes, birden çok sunucuya yayılmış olan container (konteyner) kümelerini yönetir, dağıtımını yapar ve gerektiğinde ölçeklendirir. Ayrıca yük dengelemesi, otomatik hata tespiti ve kendini onarma gibi özellikleriyle karmaşık uygulama yönetiminde büyük kolaylık sağlar.
Ancak tüm bunları yaparken Kubernetes Cluster'ınızı nasıl yöneteceğinizi bilmek büyük bir öneme sahiptir. İşte size Kubernetes Cluster'ınızı yönetmenin bazı ipuçları…
1. Cluster Kurulumu ve Yapılandırma
Eğer bulut tabanlı bir çözüm kullanacaksanız, genellikle daha hızlı kurulum ve yapılandırma ile karşılaşırsınız. Ancak kendi sunucularınızı kurmayı tercih ediyorsanız, aşağıdaki adımları takip edebilirsiniz:
```bash
# Kubernetes kurulumu için gerekli adımlar
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list
apt-get update
apt-get install -y kubelet kubeadm kubectl
```
Bu adımların ardından Kubernetes Cluster'ınızı kurmaya başlayabilirsiniz. Eğer daha fazla esneklik isterseniz, `kubeadm` komutlarıyla cluster’ı kurarak, node’ları ekleyebilir ve yönetebilirsiniz.
2. Cluster'ı İzlemek ve Yönetmek
```bash
kubectl get pods
```
Yine, cluster'a yeni bir uygulama dağıtmak için aşağıdaki komutla yeni bir pod başlatabilirsiniz:
```bash
kubectl run my-app --image=my-app-image --port=80
```
Bununla birlikte, Kubernetes üzerinde çeşitli izleme ve günlük kaydı araçları kullanarak cluster'ınızın performansını takip edebilirsiniz. *Prometheus* ve *Grafana*, Kubernetes üzerindeki metrikleri görsel olarak izlemenizi sağlayan popüler araçlardandır.
3. Yük Dengeleme ve Otomatik Ölçekleme
Örneğin, aşağıdaki komut ile bir deployment'ı ölçeklendirebilirsiniz:
```bash
kubectl scale deployment/my-app --replicas=5
```
Böylece, uygulamanız 5 kopya halinde çalışacak ve trafiği daha verimli bir şekilde karşılayabilecektir.
4. Otomatik Güncelleme ve Kendini Onarma
```bash
kubectl set image deployment/my-app my-app=my-app:v2
```
Bu komut, uygulamanızın yeni sürümüne geçiş yapmanızı sağlar ve eski sürümün yerine yeni sürümünü devreye alır.
5. Cluster Güvenliği
```bash
kubectl create role pod-reader --verb=get --verb=list --resource=pods
```
Bu komut, sadece pod'ları okuma yetkisi olan bir rol oluşturacaktır. Böylece, gereksiz erişimleri engellemiş olursunuz.
Sonuç
Bu adımları takip ederek, siz de Kubernetes üzerinde güçlü ve verimli bir yönetim sağlayabilirsiniz.