Adım 1: Sistem Gereksinimlerini Kontrol Et
Kubernetes kurulumuna başlamadan önce, Linux sisteminin bu iş için uygun olup olmadığını kontrol etmen gerekiyor. Örneğin, Ubuntu, CentOS ya da Debian gibi popüler Linux dağıtımlarında rahatça Kubernetes çalıştırabilirsin. Ayrıca, makinenin üzerinde yeterli disk alanı ve RAM bulunması da önemli. Kubernetes, birden fazla konteyneri yönetebileceği için belirli donanım gereksinimlerini karşılamalı.
Eğer tüm gereksinimleri sağlıyorsan, şimdi bir sonraki adıma geçebiliriz!
Adım 2: Docker’ı Kurmak
Kubernetes, konteynerleri yönetmek için Docker'ı kullanır. Docker, uygulamalarını izole bir ortamda çalıştırman için harika bir araçtır. Kubernetes de Docker'ı yöneterek konteynerlerini kontrol eder. Docker'ı kurmak için şu komutları kullanabilirsin:
sudo apt-get update
sudo apt-get install docker.io
sudo systemctl enable docker
sudo systemctl start docker Docker kurulumunu başarılı bir şekilde yaptıysan, Kubernetes’in de temel gereksinimlerinden birini tamamlamış olacaksın.
Adım 3: Kubernetes Paketlerini Yüklemek
Şimdi Kubernetes paketlerini yüklememiz gerekiyor. Bu paketler, Kubernetes’in işlevselliğini sağlayacak tüm bileşenleri içeriyor. Kubernetes'i yüklemek için aşağıdaki komutları kullanabilirsin:
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 -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl Bu komutlarla Kubernetes’in temel bileşenlerini yüklemiş olacaksın. Bu bileşenler, Kubernetes kümeni kurman için gerekli olan kubelet, kubeadm ve kubectl'yi içeriyor.
Adım 4: Kubernetes’i Başlatmak
Kubernetes’i kurduktan sonra, artık kümeni başlatmaya hazırsın. Küme, birden fazla node (düğüm) üzerinde çalışan bir sistemdir. Eğer tek bir makinede çalışıyorsan, kubectl komutlarını kullanarak bir master node oluşturabilirsin.
Şimdi aşağıdaki komutla kümeni başlatıyoruz:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 Bu komut, Kubernetes master node'unu başlatacak ve kümenin ilk adımlarını atmanı sağlayacak.
Adım 5: Kubectl Yapılandırması
Kubectl, Kubernetes ile etkileşimde bulunmanı sağlayan komut satırı aracıdır. Kurulum sırasında sana bir komut verecek ve bunu çalıştırarak kubectl'yi yapılandıracaksın. Bu komut şu şekilde:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config Bu komutlar, kubectl'nin doğru şekilde yapılandırılmasını sağlar ve Kubernetes kümenle etkileşim kurmanı sağlar.
Adım 6: Pod Ağını Kurmak
Kubernetes’in başarılı bir şekilde çalışabilmesi için pod ağının kurulu olması gerekmektedir. Bunun için Flannel veya Calico gibi ağ çözümleri kullanabilirsin. Flannel kurulumu için şu komutu çalıştırman yeterli:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml Bu komut, Flannel ağ yapılandırmasını Kubernetes kümesine ekleyecek ve pod'ların birbirleriyle iletişim kurmasını sağlayacaktır.
Adım 7: Node’u Küme ile Ekleme
Eğer Kubernetes master node'unu başarıyla başlattıysan, artık worker node'larını kümene ekleyebilirsin. Master node'un sana bir "join" komutu verecek. Bu komutu, worker node üzerinde çalıştırman yeterli:
kubeadm join [master-node-ip]:6443 --token [token] --discovery-token-ca-cert-hash sha256:[hash] Bu komut ile worker node'un küme ile iletişim kuracak ve kümedeki kaynakları kullanmaya başlayacak.
Adım 8: Kubernetes Durumunu Kontrol Etmek
Artık Kubernetes kurulumunun sonlarına geldik. Kurulumun başarıyla tamamlandığını görmek için şu komutları kullanabilirsin:
kubectl get nodes Bu komut, tüm node'larının durumunu gösterecek. Eğer her şey doğruysa, node'larının "Ready" durumda olduğunu görebilirsin.
Ve işte bu kadar!
Linux üzerinde Kubernetes kurulumunun temellerini başarıyla tamamladık. Şimdi, uygulamalarınla birlikte konteynerleri yönetmeye hazırsın. Her ne kadar kurulum oldukça basit olsa da, Kubernetes’in gücünü tam anlamak ve verimli bir şekilde kullanmak için daha derinlemesine öğrenmen faydalı olacaktır. Ama şimdilik, yolculuğunun bu ilk adımında başarılı olduğunu söyleyebilirim!