Kubernetes Nedir?
Kubernetes, uygulamalarınızı konteynerler içinde yönetmenize olanak tanıyan açık kaynaklı bir platformdur. Docker gibi teknolojilerle konteynerleri oluşturup, Kubernetes ile bunları daha verimli bir şekilde dağıtabilir, ölçeklendirebilir ve yönetebilirsiniz. Docker, konteynerlerin oluşturulmasını sağlarken, Kubernetes bu konteynerleri kümeler halinde yönetir. Eğer bu kavramlar size biraz yabancı geliyorsa, korkmayın, yazının ilerleyen bölümlerinde her şeyi sade bir şekilde açıklayacağım!
Adım Adım Kubernetes Kurulumu
Kubernetes'i kurmaya başlamadan önce, Linux işletim sisteminizin Docker yüklü olduğundan emin olun. Kubernetes, Docker konteynerlerini çalıştırabilmek için bu aracı kullanır.
Adım 1: Sistem Gereksinimlerini Kontrol Etme
İlk olarak, sisteminizin Kubernetes'i çalıştırabilmesi için yeterli kaynaklara sahip olduğundan emin olun. Kubernetes'i kurarken genellikle şu gereksinimleri göz önünde bulundurmalısınız:
- En az 2 GB RAM
- 2 çekirdekli bir işlemci
- Docker’ın kurulu olması
- Sudo yetkilerine sahip bir kullanıcı hesabı
Adım 2: Docker'ı Kurma
Docker'ı kurmak, Kubernetes’in temel yapı taşlarını oluşturmak için önemlidir. Eğer Docker kurulu değilse, aşağıdaki komutları takip ederek Docker'ı kurabilirsiniz:
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
Bu adım, Docker'ı kurarak konteynerlerinizi çalıştırmak için hazır hale getirecektir.
Adım 3: Kubernetes Paketlerini Kurma
Kubernetes'i kurmadan önce, bazı Kubernetes paketlerini sisteme eklememiz gerekiyor. Aşağıdaki komutları sırasıyla çalıştırarak Kubernetes paketlerini 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 touch /etc/apt/sources.list.d/kubernetes.list
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
Bu komutlar, Kubernetes deposunu sisteme dahil edecektir. Şimdi Kubernetes'i kurma adımına geçebiliriz.
Adım 4: Kubernetes’in Ana Bileşenlerini Yükleme
Kubernetes’in temel bileşenleri olan `kubelet`, `kubeadm` ve `kubectl`'i kurmamız gerekiyor. Bu araçlar, Kubernetes kümesini başlatmak ve yönetmek için gereklidir. Aşağıdaki komutlarla bu bileşenleri yükleyebilirsiniz:
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
Bu komutlar Kubernetes’in ana bileşenlerini yükler ve onları güncellemeleri engeller.
Adım 5: Kubernetes Kümesini Başlatma
Artık Kubernetes’i kurma aşamasına geldik. İlk küme oluşturulurken, `kubeadm init` komutunu kullanıyoruz:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Bu komut, Kubernetes kümesini başlatır ve size bir "join" komutu verir. Bu komut, diğer makineleri kümenize dahil etmek için kullanılır.
Adım 6: Kubernetes Yönetim Araçlarını Yapılandırma
Küme başarıyla başlatıldıktan sonra, Kubernetes komut satırı aracı olan `kubectl`'i yapılandırmamız gerekiyor. Şu komutla `kubectl` için doğru izinleri verelim:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Bu adımda, `kubectl` komutunu doğru bir şekilde çalıştırabilecek konumda olacağız.
Adım 7: Ağ Eklentisini Kurma
Kubernetes, pod'ların birbiriyle iletişim kurabilmesi için bir ağ eklentisine ihtiyaç duyar. Bu eklentiyi kurmak için Flannel gibi popüler ağ eklentilerini kullanabilirsiniz. Aşağıdaki komut ile Flannel'ı kurabilirsiniz:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Ağ eklentisi kurulduktan sonra, pod'larınız arasındaki iletişim sağlanacaktır.
Kubernetes Yönetimi: Küme ve Pod'lar Nasıl Yönetilir?
Artık Kubernetes kümenizi başarıyla kurdunuz ve yönetmeye hazırsınız. Peki, bu küme üzerinde neler yapabilirsiniz?
Pod’ları Listeleme:
Kubernetes'teki pod'ları listelemek için şu komutu kullanabilirsiniz:
kubectl get pods
Pod’ları Silme:
Bir pod'u silmek için ise şu komutu kullanabilirsiniz:
kubectl delete pod
Yayınlar (Deployments) ve Hizmetler (Services):
Uygulamanızı Kubernetes üzerinde bir yayın (deployment) olarak çalıştırmak isterseniz, bir YAML dosyası oluşturmanız gerekecek. Bu dosya, uygulamanızın nasıl çalışacağını ve hangi kaynakları kullanacağını belirtir. Yayın oluşturma komutunu şu şekilde yazabilirsiniz:
kubectl apply -f
Hizmet (Service) Kurma:
Kubernetes üzerinde çalışan bir uygulamanın dış dünyaya açılmasını sağlamak için bir hizmet (service) oluşturabilirsiniz. Bunun için şu komutu kullanabilirsiniz:
kubectl expose deployment --type=LoadBalancer --port=80
Sonuç
Linux üzerinde Kubernetes kurulumunu ve yönetimini öğrendikçe, DevOps yolculuğunuzda daha güçlü ve esnek bir altyapı inşa ettiğinizi göreceksiniz. Kubernetes ile uygulamalarınızı daha verimli bir şekilde yönetebilir, ölçeklendirebilir ve dağıtabilirsiniz. Bu rehberin size yol göstermesi ve Kubernetes dünyasına sağlam bir adım atmanız için yardımcı olması dileğiyle!