Kubernetes Kurulumu ve Cluster Yönetimi: Adım Adım Rehber

**

BFS



Kubernetes Nedir ve Neden Kullanılır?



Kubernetes, modern yazılım geliştirme dünyasının en popüler araçlarından biri haline geldi. Bulut tabanlı uygulamalarda otomatikleştirilmiş container yönetimi sağlayarak uygulama dağıtımını, ölçeklendirmeyi ve izlemeyi kolaylaştıran bir platformdur. Peki, neden Kubernetes? Çünkü büyük, karmaşık uygulamaları yönetmek her geçen gün daha zorlaşıyor. Bu yüzden Kubernetes, geliştiricilerin uygulamalarını daha verimli bir şekilde çalıştırmalarını ve yönetmelerini sağlıyor.

Kubernetes Kurulumu İçin Gerekli Adımlar



Kubernetes kurulumuna başlamadan önce bazı temel gereksinimleri yerine getirmelisiniz. Bu adımlarda her şeyin yolunda gitmesi için dikkat etmeniz gereken noktalar var.

Adım 1: Sistem Gereksinimleri

Kubernetes'i kurabilmek için birkaç gereksinime ihtiyacınız olacak. En az 2 GB RAM ve 2 çekirdekli bir işlemciye sahip bir sunucu önerilir. Birden fazla node kuracaksanız, her node için aynı gereksinimleri sağlamanız önemli.

Adım 2: Docker Kurulumu

Kubernetes, Docker konteynerlerini kullanır, bu yüzden öncelikle Docker’ı kurmanız gerekir. Docker’ı yüklemek için şu komutları kullanabilirsiniz:


sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker


Adım 3: Kubernetes Paketlerini Kurma

Kubernetes’i kurmak için gerekli araçları yüklemelisiniz. Bunun için "kubeadm", "kubelet" ve "kubectl" araçları gereklidir. Aşağıdaki komutları kullanarak bunları kurabilirsiniz:


sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl


Adım 4: Kubernetes Cluster Kurulumu

Kubernetes cluster'ını başlatmak için "kubeadm" komutunu kullanacağız. Bu komut, Kubernetes master node’unu kurarak cluster'ı başlatır. Aşağıdaki komutu kullanarak master node’unu başlatabilirsiniz:


sudo kubeadm init --pod-network-cidr=10.244.0.0/16


Komut çalıştıktan sonra bir çıkış alırsınız, bu çıktıyı dikkatlice not edin çünkü diğer node’ları cluster’a dahil etmek için kullanacağız.

Adım 5: Kubectl Yapılandırması

Cluster’ınızı yönetebilmek için "kubectl" komut satırı aracını yapılandırmanız gerekir. Bu, Kubernetes cluster'ınız ile iletişim kurmak için kullanılır. Aşağıdaki komut ile "kubectl" yapılandırmasını yapabilirsiniz:


mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config


Adım 6: Pod Ağı Yapılandırması

Cluster'ınızda pod'lar arasında iletişim kurabilmesi için ağ yapılandırması yapmanız gerekir. Flannel gibi bir ağ çözümü kullanabilirsiniz. Aşağıdaki komut ile Flannel'ı yükleyebilirsiniz:


kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml


Cluster Yönetimi ve İzleme



Kubernetes cluster’ınızı kurduktan sonra, onu yönetmek ve izlemek önemlidir. Cluster yönetiminin temel adımlarından biri, node’ların durumunu izlemektir. Aşağıdaki komutla tüm node'larınızın durumunu görebilirsiniz:


kubectl get nodes


Bu komut, cluster’ınızdaki tüm node’ların durumunu gösterir. Eğer bir node çalışmıyorsa, onu yeniden başlatmak için şu komutu kullanabilirsiniz:


kubectl delete node [NODE_NAME]


Pod Yönetimi

Pod'lar, Kubernetes'in en küçük yapı taşıdır. Bir pod’u başlatmak için aşağıdaki komutu kullanabilirsiniz:


kubectl run [POD_NAME] --image=[IMAGE_NAME] --restart=Never


Kubernetes ile bir uygulama çalıştırdığınızda, pod’lar aracılığıyla uygulamanızın yönetimini kolayca yapabilirsiniz.

Uygulama Dağıtımı

Uygulama dağıtımı yaparken, bir "Deployment" oluşturmak çok önemlidir. Deployment, uygulamanın versiyonlarını yönetir ve otomatik olarak güncellemeleri uygulamanıza olanak tanır. Aşağıdaki komut ile bir deployment oluşturabilirsiniz:


kubectl create deployment [DEPLOYMENT_NAME] --image=[IMAGE_NAME]


Uygulamanızı oluşturduktan sonra, bu deployment'ı ölçeklendirebilirsiniz. Örneğin, pod sayısını iki katına çıkarmak için şu komutu kullanabilirsiniz:


kubectl scale deployment [DEPLOYMENT_NAME] --replicas=2


Cluster’ı Güvenli Hale Getirme



Kubernetes cluster'ınızı güvenli tutmak, uygulamanızın sağlığı açısından çok önemlidir. Cluster’ınızı güvenli tutmanın birkaç yolu vardır:

1.
Role-Based Access Control (RBAC) kullanarak yetkilendirme yapın.
2.
Ağ politikaları uygulayarak pod’lar arasında iletişimi kontrol edin.
3.
Güncellemeleri takip edin ve Kubernetes’in en son sürümüne sahip olun.

Sonuç



Kubernetes, büyük uygulamaları yönetmek için güçlü bir araçtır ve kurulumu ile yönetimi, zamanla alışkanlık haline gelir. Bu yazıda, Kubernetes kurulumundan başlayarak, cluster yönetimi, uygulama dağıtımı ve güvenlik gibi temel adımları inceledik. Kubernetes ile uygulamalarınızı daha verimli bir şekilde çalıştırabilir, hızlıca ölçeklendirebilir ve yönetebilirsiniz.

Yavaşça Kubernetes dünyasına adım atarken, her adımın bir öğrenme fırsatı sunduğunu unutmayın. Bu yolculukta yeni beceriler kazanarak, bir Kubernetes uzmanı olma yolunda emin adımlarla ilerleyeceksiniz.

İlgili Yazılar

Benzer konularda diğer yazılarımız

Modern Yazılım Geliştirme Süreçlerinde Yapay Zeka ve Otomasyonun Rolü: 2025’te Yeni Başlangıçlar

Yazılım geliştirme dünyası hızla evriliyor. 2025 yılına adım attığımızda, bu süreçte yapay zeka ve otomasyonun rolü hiç olmadığı kadar önemli hale geldi. Geçmişte yazılım geliştirme yalnızca kod yazmak ve sistemleri test etmekle sınırlıydı. Ancak bugünün...

Yazılım Geliştiriciler İçin Verimli Çalışma Alanı Oluşturmanın İpuçları: En İyi Araçlar ve Yöntemler

Verimli Bir Çalışma Alanı Neden Önemlidir?Yazılım geliştirici olmanın zorluklarından biri de sürekli odaklanmış ve üretken olabilmektir. Bir geliştirici olarak, işlerinizin çoğunu bilgisayar başında geçirirsiniz ve bu süre zarfında verimli bir çalışma...

Kodunuzu Temiz Tutun: Yazılımda 'Yavaş Kodu' Tespit Etmenin 7 Etkili Yolu

Yazılım geliştirme dünyasında zamanın ne kadar kıymetli olduğunu hepimiz biliyoruz. Yazdığınız kodun hızlı ve verimli olması, projelerinizi başarılı kılmanın anahtarıdır. Ama ne yazık ki, çoğu zaman kodu hızlı yazmak uğruna temizliği ihmal edebiliriz....