Kubernetes Nedir ve Neden Kullanılır?
Kubernetes, Google tarafından geliştirilmiş bir açık kaynaklı container orkestrasyon sistemidir. Birçok mikro hizmetin yönetilmesini kolaylaştıran bu sistem, özellikle DevOps kültürüyle çalışan takımlar için vazgeçilmez bir araçtır. Kubernetes, yazılım uygulamalarını container’lar içinde çalıştırarak, hem yönetimi kolaylaştırır hem de ölçeklenebilirliği sağlar.
Peki, Kubernetes’i neden tercih etmeliyiz? Çünkü bu sistem, uygulama dağıtımlarını hızlandırır, kaynakları daha verimli kullanır ve her şeyin otomatik olarak çalışmasını sağlar. Ayrıca, Kubernetes sayesinde sistem kesintilerini en aza indirebilir ve yüksek kullanılabilirlik sağlarsınız.
Kubernetes Cluster'ı Kurmak İçin Adım Adım Rehber
Kubernetes kurulumuna başlamadan önce, birkaç ön koşul var. İlk olarak, bir Linux sunucusuna ihtiyacınız olacak. Ayrıca Docker da kurulu olmalı, çünkü Kubernetes container'ları yönetmek için Docker'ı kullanır.
Adım 1: Kubernetes'i ve Gerekli Bileşenleri Yükleyin
İlk adım, Kubernetes ve gerekli bileşenleri yüklemektir. Bunun için sisteminizde Kubernetes'in son sürümünü kullanabilirsiniz.
Aşağıdaki komutla Kubernetes'i yükleyebilirsiniz:
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 http://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 adımlarla birlikte, Kubernetes bileşenlerini sisteminize yüklemiş olacaksınız.
Adım 2: Kubernetes Cluster'ı Başlatın
Cluster’ı başlatmak için `kubeadm` komutunu kullanabilirsiniz. Bu, cluster’ı başlatan ve yapılandıran bir araçtır.
İlk node’u (master node) 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 size bir token verir. Bu token, diğer node’ları cluster’a dahil etmek için kullanılacaktır.
Adım 3: kubectl Komut Satırını Yapılandırın
Master node’u başlattıktan sonra, `kubectl` komut satırını yapılandırmanız gerekir. Bu, cluster ile etkileşime geçmek için kullanacağınız komut satırıdır. Bunun için aşağıdaki komutu kullanabilirsiniz:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Bunları yaptıktan sonra, `kubectl` komutlarını kullanarak cluster’ınızı yönetebilirsiniz.
Adım 4: Pod Ağını Kurun
Kubernetes, container’lar arasında iletişim kurabilmek için bir ağ çözümüne ihtiyaç duyar. Bu ağ çözümlerinden biri Flannel’dır. Flannel, Kubernetes cluster’ınızda pod’lar arası iletişimi sağlamak için kullanılır.
Flannel ağ çözümünü yüklemek için şu komutu kullanabilirsiniz:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Bu adım, ağınızı yapılandırarak pod’larınızın iletişim kurabilmesini sağlar.
Adım 5: Worker Node'ları Cluster’a Dahil Etme
Cluster’ınızı başlattınız ve master node’unu kurdunuz. Şimdi sıra, worker node’ları eklemeye geldi. Her bir worker node’u, master node’a katılmak için verilen token’ı kullanarak cluster’a dahil edebilirsiniz.
Worker node’lara katılmak için aşağıdaki komutu kullanın (bu komut, `kubeadm init` komutunu çalıştırdıktan sonra verilen token ile birlikte kullanılacaktır):
sudo kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256:
Bu komutla birlikte, worker node cluster’a katılacak ve master node ile iletişim kurabilecektir.
Cluster Yönetimi ve İzleme
Cluster kurulumunu tamamladıktan sonra, Kubernetes’i yönetmek için birkaç önemli komut vardır. İşte bazı temel komutlar:
- Cluster Durumunu Görüntüleme:
kubectl cluster-info
- Pod’ları Listeleme:
kubectl get pods
- Service’ları Listeleme:
kubectl get services
Kubernetes cluster’ınızda uygulamaları ve pod’ları izlemek için bu komutları kullanarak hızlıca durumu kontrol edebilirsiniz. Ayrıca, Helm gibi araçlar kullanarak uygulama dağıtımlarını daha da kolaylaştırabilirsiniz.
Sonuç
Kubernetes, uygulama dağıtımlarını yönetmek ve büyük ölçekli sistemler kurmak için mükemmel bir araçtır. Cluster’ı kurmak ve yönetmek başlangıçta karmaşık görünebilir, ancak doğru adımları takip ettiğinizde her şey kolayca yönetilebilir hale gelir. Bu yazıda, Kubernetes cluster kurulumu ve yönetimi hakkında temel bilgileri adım adım ele aldık. Kubernetes’i öğrenmeye başlamak, büyük projeler ve sistemler için harika bir adımdır.