1. Kubernetes Nedir ve Neden Kullanılır?
Kubernetes, Google tarafından geliştirilen ve container'ları otomatikleştirilmiş şekilde yönetmeye yarayan bir orkestrasyon platformudur. Container’lar, uygulamalarınızın küçük, taşınabilir birimler olarak çalışmasını sağlar. Kubernetes ise bu container'ları grubunu yönetir, ölçekler, izler ve hataları giderir. Kubernetes kullanarak uygulamalarınızı daha verimli, güvenilir ve esnek bir şekilde çalıştırabilirsiniz.
2. Kubernetes İçin Gereksinimler
Kubernetes kurulumu için öncelikle Linux sunucularına sahip olmanız gerekiyor. Genelde Ubuntu veya CentOS gibi popüler dağıtımlar tercih ediliyor, fakat diğer dağıtımlar da işe yarar. Ayrıca, Docker gibi container runtime’lar da Kubernetes’in çalışabilmesi için gereklidir. Kubernetes kurulumu, ağ ve depolama yapılandırmalarını doğru yapmanızı gerektirir.
Ön gereksinimler:
- En az 2 GB RAM
- 2 CPU
- Ubuntu 20.04 veya CentOS 8
- Docker kurulu bir sistem
3. Kubernetes Kurulumu: Adım Adım Kılavuz
Şimdi Linux üzerinde Kubernetes kurulumuna başlayabiliriz. Kubernetes’i kurmak için en yaygın yöntemlerden biri olan kubeadm kullanacağız. Kubeadm, Kubernetes cluster'ı kurmayı kolaylaştıran bir araçtır.
Adım 1: Docker’ı Kurun
Kubernetes’in düzgün çalışabilmesi için Docker’ın kurulu olması gereklidir. Eğer Docker kurulu değilse, aşağıdaki komutla kurabilirsiniz:
sudo apt update
sudo apt install -y docker.io
Adım 2: Kubernetes Paketlerini Yükleyin
Kubernetes'i kurmadan önce, gerekli paketleri yüklemeliyiz. Bu adımı gerçekleştirmek için aşağıdaki komutları sırasıyla çalıştırabilirsiniz:
sudo apt update
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
Adım 3: Kubernetes Cluster Kurulumu
Cluster kurulumuna başlamadan önce, tüm node'ların ağda birbirlerini görebilmesi gerektiğini unutmayın. Eğer sadece tek bir node üzerinde çalışıyorsanız, kubeadm ile şu şekilde bir cluster başlatabilirsiniz:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Bu komut Kubernetes master node'unu başlatacaktır. İşlem tamamlandığında, size bir "kubeadm join" komutu verilecektir. Bu komutu, worker node'larınızı cluster'a katmak için kullanabilirsiniz.
Adım 4: Kubectl Kullanarak Cluster’ı Yönetme
Cluster kurulumundan sonra, kubectl komut satırı aracını kullanarak Kubernetes cluster'ınızı yönetebilirsiniz. Ancak kubectl’in yönetebilmesi için, kullanıcı dizininde konfigürasyon dosyasının olması gerekir. Bunu yapmak için şu komutu çalıştırın:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Bu işlemden sonra kubectl ile Kubernetes cluster'ınızı yönetmeye hazırsınız!
4. Kubernetes Ağ Yapılandırması
Kubernetes’i başarılı bir şekilde kurduktan sonra, ağ yapılandırmasını yapmanız gerekecek. Bu adım, pod'ların ve container'ların birbirleriyle iletişim kurabilmesi için önemlidir. Bu adımda, Calico veya Flannel gibi ağ eklentilerinden birini seçebilirsiniz. Flannel ağ eklentisi, aşağıdaki komutla kurulabilir:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Bu komut Flannel ağ eklentisini yükleyecek ve pod'lar arasında iletişimi sağlayacaktır.
5. Kubernetes Yönetimi: Cluster’ınızı İzleme ve Yönetme
Kubernetes cluster’ınızı başarıyla kurduktan sonra, her şeyin düzgün çalıştığından emin olmalısınız. kubectl komutları ile cluster'ınızı izleyebilir ve pod'larınızı yönetebilirsiniz. Örneğin, aşağıdaki komutla tüm pod’larınızı listeleyebilirsiniz:
kubectl get pods --all-namespaces
Cluster'daki herhangi bir pod'un durumunu görmek için ise şu komutu kullanabilirsiniz:
kubectl describe pod [pod-adı]
Ayrıca, Kubernetes dashboard'u kurarak görsel olarak da cluster'ınızı yönetebilirsiniz. Dashboard kurulumunu şu şekilde yapabilirsiniz:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml
6. Sonuç ve Öneriler
Kubernetes, container'ları yönetmek ve uygulama dağıtım süreçlerini otomatikleştirmek için mükemmel bir araçtır. Linux üzerinde Kubernetes kurulumunu başarıyla tamamladıktan sonra, çeşitli yönetim ve izleme araçlarıyla cluster'ınızı sürekli olarak optimize edebilirsiniz. Unutmayın, Kubernetes’in derinliklerine indikçe, size daha fazla esneklik ve gücü sunacaktır.
Kubernetes kurulumunu öğrendikten sonra, yeni uygulamalarınızı daha verimli bir şekilde çalıştırmak için container teknolojisinin gücünden faydalanabilirsiniz. Ayrıca, DevOps süreçlerinizde de Kubernetes’i entegre ederek iş akışınızı iyileştirebilirsiniz.