Linux'ta Kubernetes'e Adım Adım Yolculuk
Bir gün, Kubernetes'in adını sıkça duydum ve "Bu nedir?" diye düşündüm. Hemen araştırmaya başladım. Kubernetes, konteynerleştirilmiş uygulamaların yönetimini otomatikleştiren bir platform olarak karşımıza çıkıyor. Yani, birden fazla uygulamayı bir arada tutmak, onları dağıtmak ve yönetmek için mükemmel bir araç. Hadi gelin, Linux üzerinde Kubernetes kurulumuna nasıl başlayabileceğinizi keşfedelim.
İlk Adım: Gerekli Araçları Kurma
Kubernetes'i kurmadan önce, birkaç yardımcı araca ihtiyacımız var. Bunlar, Docker ve kubeadm gibi araçlar. Docker, konteynerleri oluşturmanıza yardımcı olurken, kubeadm Kubernetes cluster'larını kurmamıza olanak tanıyacak. Bu araçları yüklemeyi bir ritüel gibi düşünün, çünkü her biri Kubernetes yolculuğunda önemli bir yer tutuyor.
Docker'ı Kurma:
Linux'ta Docker kurmak oldukça basit. Terminali açın ve şu komutu girin:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
Docker'ın doğru kurulduğundan emin olun:
sudo systemctl start docker
sudo systemctl enable docker
docker --version
Kubernetes'in Temelleri: kubeadm ve kubelet
Kubernetes’i kurmak için iki ana araç gereklidir: kubeadm ve kubelet. Kubeadm, Kubernetes cluster'larını kurmak için bir araçtır. Kubelet ise, node’lar üzerinde çalışan ve Kubernetes API server’ına sürekli olarak durum raporları gönderen bir hizmettir.
Kubeadm'ı Kurma:
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 -
sudo apt-add-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
Bu işlemle birlikte Kubernetes’in temel bileşenlerini kurmuş olduk.
Cluster Kurulumuna Başlamak
Artık Kubernetes cluster'ınızı kurmaya hazırsınız! İlk adım, master node'u başlatmak. Bunun için aşağıdaki komutu kullanacağız:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Cluster'ınızı başlatın:
Bu işlem biraz zaman alabilir, ancak sonunda Kubernetes master node’unuz hazır olacak. Şimdi, Kubernetes’in yönetici haklarına sahip olmak için şu komutları girmeniz gerekiyor:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Pod Ağı Oluşturma ve Bağlantı Sağlama
Kubernetes üzerinde konteynerler arasında iletişim kurabilmek için bir ağ oluşturmanız gerekiyor. Bunun için Calico, Flannel veya Weave gibi ağ çözümleri kullanabilirsiniz. Burada biz Flannel'ı tercih edeceğiz. Aşağıdaki komutla Flannel'ı kuruyoruz:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Evet, ağ kurulumunuz başarıyla tamamlandı. Şimdi, Kubernetes cluster’ını yönetmeye hazırsınız!
Worker Node’larını Eklemek
Şimdi, worker node’ları eklemeyi öğrenelim. İlk olarak, master node'unuzdan bir token almanız gerekiyor. Bu token, yeni node’ların Kubernetes cluster'ına katılmasını sağlayacak.
Token’ı almak için:
kubeadm token create --print-join-command
Bu komut, worker node’a yazacağınız join komutunu verecektir. Şimdi, worker node’a gidin ve şu komutu çalıştırın:
sudo kubeadm join [MASTER-IP]:[PORT] --token [TOKEN] --discovery-token-ca-cert-hash sha256:[HASH]
Bu işlemi tüm worker node’lar için tekrar edin.
Cluster’ı Yönetmek
Kubernetes cluster’ınızı yönetmek için kubectl komutunu kullanabilirsiniz. Örneğin, tüm node’ların durumunu görmek için şu komutu girin:
kubectl get nodes
Bu komut, cluster'ınızdaki tüm node'ları ve durumlarını listeleyecektir.
Pod’ları Görüntüleme:
kubectl get pods --all-namespaces
Pod’larınızın durumu ve detayları da burada görüntülenecektir.
Sonuç
Linux üzerinde Kubernetes kurmak ve yönetmek ilk başta göz korkutucu görünebilir, ancak adım adım takip ettiğinizde her şey çok daha anlaşılır hale gelir. Artık Docker ve Kubernetes ile uygulamalarınızı konteynerleştirebilir ve yönetebilirsiniz. Unutmayın, Kubernetes sizin için çok güçlü bir araç, ve doğru yönetildiğinde her şey mükemmel bir şekilde çalışacaktır. Şimdi ise Kubernetes'i test edin ve üretim ortamınıza entegre edin!