Giriş
Kubernetes, konteynerleştirme oranında en yaygın kullanılan orkestrasyon platformlarından biridir. Raspberry Pi, düşük maliyetli ve enerji verimli bir mini bilgisayar olduğundan, eğitim ve deneme amaçlı Kubernetes kümelerinin kurulmasında sıklıkla tercih edilmektedir. Bu süreçte, birden fazla Raspberry Pi cihazı kullanarak bir Kubernetes klusteri oluşturmak mümkündür.
Gereksinimler
Kubernetes kurulumu için ihtiyacınız olan donanım temin edilmelidir. En az üç Raspberry Pi cihazına (veya daha fazlasına) ihtiyaç duyulmaktadır. Her bir cihazda, temel gereksinimlerden biri olan Raspbian işletim sistemi yüklenmelidir. Ayrıca, cihazların bir ağda birbirleriyle iletişim kurabilmesi için uygun bir ağ yapılandırması sağlanmalıdır.
Aşağıdaki yazılımlar ve araçlar da gereklidir:
– Raspbian (Raspberry Pi için optimize edilmiş bir Linux dağıtımı)
– Docker
– Kubernetes bileşenleri (kubectl, kubeadm, kubelet)
– İhtiyaç duyulan diğer bağımlılıklar
İşletim Sistemi Kurulumu
İlk adım, her bir Raspberry Pi için Raspbian işletim sisteminin kurulmasıdır. Raspbian’ın en son imajı, Raspberry Pi Vakfı’nın resmi web sitesinden indirilebilir. İmaj, bir microSD karta yazılmalıdır. Ardından, her bir Raspberry Pi cihazının ilgili microSD kartı ile başlatılması gerekir. İlk başlatma sonrası temel yapılandırma yapılmalıdır.
Ağ yapılandırması, her Raspberry Pi’nin benzersiz bir IP adresine sahip olması sağlanarak gerçekleştirilmelidir. Bunu, statik IP ayarları veya DHCP ile yapmak mümkündür.
Docker Kurulumu
Kubernetes, altında çalışma zamanı olarak Docker’ı kullanır. Her Raspberry Pi için Docker’nın kurulumu, aşağıdaki komut ile gerçekleştirilebilir:
“`bash
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
“`
Docker kurulumu tamamlandıktan sonra, her cihazda Docker servisinin çalıştığından emin olunmalıdır:
“`bash
sudo systemctl enable docker
sudo systemctl start docker
“`
Kubernetes Bileşenlerinin Kurulumu
Kubernetes klusteri oluşturmak için kubeadm aracı kullanılacaktır. İlk olarak, gerekli bağımlılıklar yüklenmelidir:
“`bash
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates 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 /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
“`
Kubelet ve kubeadm kurulumunun ardından, her Raspberry Pi cihazında benzer komutlar çalıştırılmalıdır.
Kubernetes Klusterinin Kurulumu
Kubernetes klusterinin ana düğüm (master node) olarak bir Raspberry Pi cihazı seçilmelidir. Bu cihazda aşağıdaki komut çalıştırılarak klusterin oluşturulmasına başlanmalıdır:
“`bash
sudo kubeadm init –pod-network-cidr=10.244.0.0/16
“`
Başarılı bir şekilde tamamlanan kurulumdan sonra, aşağıdaki komutlar ile kubectl yapılandırması yapılmalıdır:
“`bash
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
“`
Ana düğüm kurulumu tamamlandıktan sonra, alt düğümlerin (worker node) klustera eklenmesi gerekmektedir. Ana düğüm tarafından oluşturulan token ile diğer düğümlerin katılımı sağlanacaktır.
Pod Ağı Eklentisinin Kurulumu
Kubernetes klusterinde ağaçlık bir yapının elde edilmesi için bir Pod ağı eklentisi yüklenmelidir. Genellikle Flannel veya Calico gibi eklentiler tercih edilmektedir. Örneğin, Flannel eklentisi aşağıdaki komut ile kurulabilir:
“`bash
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel.yaml
“`
Bu aşama, Kubernetes klusterinin her işlevselliğinin sağlanması için önemlidir.
Node Ekleme
Diğer Raspberry Pi cihazlarının (worker node) Kubernetes klusterine eklenmesi için ana düğümde oluşturulan token kullanılmalıdır. Aşağıdaki komut çalıştırılarak token elde edilebilir:
“`bash
kubeadm token list
“`
Token alındıktan sonra, diğer Raspberry Pi cihazlarında aşağıdaki komut uygulanmalıdır:
“`bash
sudo kubeadm join
“`
Tüm alt düğümler katıldıktan sonra, aşağıdaki komut ile node’ların durumu kontrol edilmelidir:
“`bash
kubectl get nodes
“`
Sonuç
Raspberry Pi cihazlarında Kubernetes kurulumu, pratik bir öğrenme deneyimi sunar. Bu süreç, düşük maliyetli bir ortamda konteynerleştirme teknolojilerini keşfetmek ve Kubernetes’in temel bileşenlerini anlamak için kullanılabilir. Kurulum adımlarının doğru bir şekilde izlenmesi, başarılı bir Kubernetes klusterinin oluşmasını sağlar.