Linux'ta Kubernetes'e Giriş
Bir yazılım geliştiricisi olarak, projelerinizi dağıtmak, ölçeklendirmek ve yönetmek için zaman zaman karmaşık çözümler aradığınızda, Kubernetes tam da ihtiyacınız olan araç olabilir. Ama, "Kubernetes nedir ve Linux üzerinde nasıl kurulur?" sorusu sizi biraz korkutuyorsa, yalnız değilsiniz. İlk başta biraz karmaşık görünebilir, ancak doğru adımlarla bu yolculuk çok daha eğlenceli ve kolay hale gelebilir.
Kubernetes, uygulama konteynerlerinin yönetilmesini sağlayan açık kaynaklı bir platformdur. Yani, uygulamalarınızı container içinde çalıştırır ve Kubernetes sayesinde bu container'ları kolayca yönetebilirsiniz. Peki, Linux üzerinde Kubernetes'i nasıl kurarız? Gelin adım adım bu serüvene birlikte çıkalım.
1. Adım: Sistem Gereksinimlerini Kontrol Etmek
İlk olarak, Kubernetes'i çalıştırabileceğimiz bir Linux sunucusuna ihtiyacımız var. Aşağıdaki sistem gereksinimlerinin karşılandığından emin olun:
- En az 2 GB RAM (Daha fazla RAM her zaman daha iyi olur)
- 2 CPU çekirdeği (Kubernetes'in düzgün çalışması için yeterli olacaktır)
- İnternete erişim (Kubernetes, bazı paketleri ve bağımlılıkları internet üzerinden indirir)
Eğer bu gereksinimler sağlanıyorsa, işte ilk adımımızı atmaya hazırsınız demektir!
2. Adım: Kubernetes ve Docker Kurulumu
Kubernetes'in temel taşlarından biri Docker’dır. Docker, uygulamalarınızın her bir bileşenini bağımsız bir konteyner içinde çalıştırmanıza olanak tanır. Şimdi Docker'ı ve Kubernetes için gerekli diğer araçları kurmaya başlayalım.
Öncelikle Docker'ı kurmamız gerekiyor. Linux dağıtımınıza göre aşağıdaki komutları kullanabilirsiniz:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce
sudo systemctl enable docker
sudo systemctl start docker
Docker'ı başarıyla kurduktan sonra, Kubernetes’i kurmak için gerekli olan "kubeadm", "kubelet" ve "kubectl" araçlarını yükleyeceğiz. Bu araçları kurmak için şu komutları kullanın:
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https 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 -a /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
3. Adım: Kubernetes Cluster'ı Kurmak
Kubernetes’in temel bileşenlerini kurduktan sonra, Kubernetes Cluster'ını oluşturmaya başlayabiliriz. İlk olarak, kubeadm aracını kullanarak bir master node başlatacağız.
Master node’u başlatmak için şu komutu kullanın:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Bu komut, Kubernetes master node’unu başlatır ve bir kubeconfig dosyası oluşturur. Bu dosya, cluster’ınıza erişim sağlamak için gereklidir. İşte o dosyayı kullanmak için gereken komut:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Eğer birden fazla node eklemek istiyorsanız, master node’dan aldığınız token ile worker node’ları eklemelisiniz. Bu token’ı şu şekilde alabilirsiniz:
kubeadm token create --print-join-command
Bu komut, worker node’ları cluster’a dahil etmek için gerekli komutları size verecektir.
4. Adım: Pod Ağı Kurulumu
Kubernetes cluster'ı oluşturduktan sonra, pod’ların birbirleriyle iletişim kurabilmesi için bir ağ (network) çözümü kurmalıyız. Burada Flannel gibi basit ve etkili bir ağ çözümünü tercih edebiliriz.
Flannel kurulumunu yapmak için şu komutları kullanabilirsiniz:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
5. Adım: Kubernetes Cluster'ını Yönetmek
Cluster kurulumunu tamamladıktan sonra, artık uygulamalarınızı Kubernetes üzerine yerleştirmeye başlayabilirsiniz. Ancak, Kubernetes'i yönetmek için kubectl komutlarını kullanmayı öğrenmeniz gerekiyor. İşte bazı temel komutlar:
- Cluster durumunu kontrol etme:
kubectl cluster-info
- Pod’ları listeleme:
kubectl get pods
- Deployment oluşturma:
kubectl create deployment nginx --image=nginx
- Pod’a erişim sağlama:
kubectl exec -it -- /bin/bash
6. Adım: Kubernetes'i Ölçeklendirmek
Cluster’ınızın başarılı bir şekilde çalıştığını gördükten sonra, uygulamanızı ölçeklendirmek isteyebilirsiniz. Kubernetes, bu tür ihtiyaçlar için mükemmel bir çözüm sunar. İşte basit bir ölçeklendirme komutu:
kubectl scale deployment nginx --replicas=3
Bu komut, nginx deployment’ını 3 replica’ya çıkarır. Kubernetes, konteynerlerinizi dinamik olarak ölçeklendirerek ihtiyacınıza göre yönetir.
Sonuç
Linux üzerinde Kubernetes kurmak başlangıçta gözünüzü korkutabilir, ancak bu adımları takip ederek kendi cluster’ınızı oluşturabilirsiniz. Kubernetes, özellikle büyük ve karmaşık projelerde container’ların yönetimini son derece kolaylaştıran güçlü bir araçtır. Şimdi, projelerinizi daha esnek ve verimli bir şekilde yönetecek yeteneklere sahipsiniz!