Merhaba, Kubernetes Dünyasına Adım Atmaya Hazır Mısınız?
Bir sabah, Linux terminalinizde bir şeyler yapmak istediniz. Kendi uygulamalarınızı dağıtmak, yönetmek ve ölçeklendirmek... Ama bu, geleneksel yöntemlerle zor ve karmaşık olabilir. O zaman bir çözüm arayışına girdiniz ve Kubernetes karşınıza çıktı. Peki, Kubernetes nedir ve Linux’ta nasıl kurulur? Gelin, birlikte adım adım keşfedelim.
Kubernetes, Google tarafından geliştirilen, konteynerlerin yönetilmesini ve orkestrasyonunu sağlayan açık kaynaklı bir platformdur. Uygulamalarınızı kolayca dağıtmak, yönetmek ve ölçeklendirmek için çok güçlü bir araçtır. Ama şimdi soruyorsunuz: "Linux üzerinde Kubernetes kurmak gerçekten kolay mı?" Haydi, başlayalım.
1. Adım: Linux'ta Kubernetes İçin Gerekli Ortamı Hazırlama
Öncelikle, Kubernetes’i kurmadan önce birkaç yazılımın sisteminizde yüklü olması gerekiyor. Bunlar: Docker, kubeadm, kubectl ve kubelet. Bunlar Kubernetes’in temel yapı taşlarıdır.
İlk adım olarak Docker’ı kurmamız gerek. Docker, konteyner teknolojisini kullanarak uygulamalarımızı izole eder ve Kubernetes bu konteynerleri yönetir. Hadi, Docker’ı kurmaya başlayalım:
# Docker'ı yükleyin
sudo apt-get update
sudo apt-get install docker.io
# Docker'ı başlatın ve etkinleştirin
sudo systemctl start docker
sudo systemctl enable docker
Docker yüklendikten sonra, Kubernetes’in ana araçlarını kuracağız. Bunun için kubectl, kubeadm ve kubelet’ı yüklemeliyiz. Kubectl, Kubernetes kümenizi yönetmenizi sağlar, kubeadm ise kümenizi başlatmanızı ve yapılandırmanızı sağlar. Kubelet ise her bir düğümün üzerinde çalışan bir bileşendir. Bu araçları kurmak için aşağıdaki komutları kullanabilirsiniz:
# Kubernetes depolarını ekleyin
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
# kubeadm, kubectl ve kubelet'ı yükleyin
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
2. Adım: Kubernetes Kümenizi Oluşturun
Şimdi en heyecanlı kısma geldik: Küme kurma zamanı! Kubernetes kümesi, bir veya birden fazla düğümden oluşur. Bu düğümler, Kubernetes’in çeşitli bileşenlerini çalıştırır ve uygulamalarınızın yönetilmesini sağlar.
Küme kurulumuna başlamadan önce, her iki tarafta da (master ve worker) swap alanını devre dışı bırakmamız gerek. Kubernetes, swap alanını desteklemez.
# Swap alanını devre dışı bırakın
sudo swapoff -a
Sonra, kubeadm kullanarak master düğümünü başlatalım:
# Kubernetes kümesini başlatın
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Yukarıdaki komut ile Kubernetes master düğümünü başlatmış olduk. Şimdi, kubectl komutlarını kullanabilmek için aşağıdaki komutları çalıştırarak gerekli izinleri verelim:
# kubectl için gerekli izinleri verin
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
3. Adım: Pod Ağını Kurma
Kubernetes, pod’lar arasında ağ iletişimini sağlamak için bir ağ çözümüne ihtiyaç duyar. Bu adımda Flannel gibi bir ağ eklentisi kuracağız.
# Flannel ağ eklentisini kurun
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Ağ kurulumu tamamlandığında, kubectl komutlarını kullanarak küme durumunu kontrol edebilirsiniz:
# Küme durumunu kontrol edin
kubectl get pods --all-namespaces
4. Adım: Worker Düğümünü Kümenize Bağlama
Şimdi, master düğümünü kurduk. Ancak, sadece master düğüm ile bir şeyler yapamayız! Worker düğümleri, uygulamalarımızı çalıştıracak olan makineler. Master düğümünü kurduktan sonra, kubeadm size bir komut verecek. Bu komut, worker düğümünü kümenize bağlamak için kullanılacak.
Örnek bir komut şöyle olabilir:
# Worker düğümünü kümenize ekleyin
kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256:
Bu komut, worker düğümünü başarılı bir şekilde master düğümüne bağlayacak ve küme genişlemiş olacak. Eğer her şey doğru bir şekilde kurulduysa, tüm düğümler aşağıdaki gibi görünecektir:
# Düğüm durumunu kontrol edin
kubectl get nodes
5. Adım: Kubernetes ile Uygulama Dağıtma
Son adımda, Kubernetes ile uygulamanızı dağıtma zamanı! Kubernetes, containerized uygulamalar için mükemmel bir ortam sağlar. Örneğin, bir Nginx servisi dağıtmak için şu adımları takip edebilirsiniz:
# Bir Nginx Deployment'ı başlatın
kubectl create deployment nginx --image=nginx
Şimdi, servis oluşturalım ve dışarıdan erişilebilir hale getirelim:
# Nginx servisini oluşturun
kubectl expose deployment nginx --port=80 --type=NodePort
Bu kadar! Artık Kubernetes kümenizde çalışan bir Nginx uygulamanız var.
Sonuç
İşte Linux üzerinde Kubernetes’i kurmak ve yönetmek bu kadar kolay! Kubernetes, güçlü ve esnek bir araçtır, ama doğru bir şekilde kurulum yapmanız önemlidir. Adım adım ilerleyerek, hem Kubernetes’in nasıl çalıştığını anlayabilir, hem de uygulamalarınızı sorunsuz bir şekilde yönetebilirsiniz. Şimdi, Kubernetes ile büyük ve ölçeklenebilir uygulamalar oluşturmanın keyfini çıkarın!