Debian

Kubeadm ile Debian 11’e Kubernetes Kümesi Nasıl Kurulur?

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur
Share

Kubernetes Cluster’ı Debian 11’e (Bullseye) yüklemek için kolay bir kılavuz mu arıyorsunuz?

Bu sayfadaki adım adım kılavuz, Kubernetes kümesini Kubeadm yardımcı programı ile Debian 11’e nasıl kuracağınızı gösterecektir.

Kubernetes (k8s) kümesi, kapsayıcılı uygulamaları çalıştırmak için kullanılan ana ve çalışan düğümleri içerir. Ana düğüm, kontrol planı olarak çalışır ve çalışan düğümler, gerçek iş yükü için ortam sunar.

Kubernetes Nedir? Makalemize göz atmayı unutmayınız.

Önkoşullar

  • Minimum Yüklü Debian 11
  • 2 CPU / vCPU
  • 2 GB RAM
  • 20 GB boş disk alanı
  • Yönetici haklarına sahip Sudo Kullanıcısı
  • Kararlı İnternet Bağlantısı

Laboratuvar Kurulumu

Gösteri için, aşağıdaki ayrıntılara sahip üç Debian 11 sistemi kullanıyorum,

  • Ana Düğüm (k8s-master) – 192.168.1.236
  • Çalışan Düğümü 1 (k8s-worker1) – 192.168.1.237
  • Çalışan Düğümü 2 (k8s-worker2) – 192.168.1.238

Daha fazla gecikmeden kurulum adımlarına geçelim.

1) Ana Bilgisayar Adını ayarlayın ve /etc/hosts dosyasını güncelleyin

Ana ve çalışan düğümlerde ana bilgisayar adını ayarlamak için hostnamectl komutunu kullanın.

$ sudo hostnamectl set-hostname "k8s-master" // Ana düğümde çalıştır
$ sudo hostnamectl set-hostname "k8s-worker1" // 1. işçi düğümünde çalıştır
$ sudo hostnamectl set-hostname "k8s-worker2" // 2. işçi düğümünde çalıştır

Tüm düğümlerde /etc/hosts dosyasına aşağıdaki girdileri ekleyin,

192.168.1.236       k8s-master
192.168.1.237       k8s-worker1
192.168.1.238       k8s-worker2

2) Tüm düğümlerde Takas’ı devre dışı bırakın

Kubelet’in sorunsuz çalışması için takasın devre dışı bırakılması önerilir. Takas işlemini kapatmak için ana ve çalışan düğümlerde aşağıdaki komutları çalıştırın.

$ sudo swapoff -a
$ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

3) Kubernetes Kümesi için Güvenlik Duvarı Kurallarını Yapılandırma

Debian sistemlerinizde OS güvenlik duvarının etkinleştirilmesi durumunda, sırasıyla ana ve çalışan düğümlerde aşağıdaki bağlantı noktalarına izin verin.

Ana sunucuda (Master), çalıştırın

$ sudo ufw allow 6443/tcp
$ sudo ufw allow 2379/tcp
$ sudo ufw allow 2380/tcp
$ sudo ufw allow 10250/tcp
$ sudo ufw allow 10251/tcp
$ sudo ufw allow 10252/tcp
$ sudo ufw allow 10255/tcp
$ sudo ufw reload

Çalışan Düğümlerde,

$ sudo ufw allow 10250/tcp
$ sudo ufw allow 30000:32767/tcp
$ sudo ufw reload

Not: Debian 11 sistemlerinizde güvenlik duvarı devre dışıysa bu adımı atlayabilirsiniz.

4) Containerd çalışma süresini tüm düğümlere yükleyin

Containerd, endüstri standardı konteyner çalışma zamanıdır, tüm ana ve çalışan düğümlere containerd yüklememiz gerekir.

Containerd’yi yüklemeden önce, tüm düğümlerde aşağıdaki çekirdek parametrelerini ayarlayın.

 

$ cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

$ sudo modprobe overlay
$ sudo modprobe br_netfilter

$ cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

Efektte yukarıdaki değişiklikleri yapmak için, çalıştırın

$ sudo sysctl --system

Şimdi, tüm düğümlerde aşağıdaki apt komutunu çalıştırarak conatinerd’i kurun .

$ sudo apt  update
$ sudo apt -y install containerd

Containerd’yi Kubernetes ile çalışacak şekilde yapılandırın, tüm düğümlerde komutun altında çalıştırın

$ containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1


Tüm düğümlerde cgroupdriver’ı systemd olarak ayarlayın,

‘ /etc/containerd/config.toml ‘ dosyasını düzenleyin ve ‘ [plugins.”io.containerd.grpc.v1.cri”.containerd.runtimes.runc.options] ‘ bölümünü bulun ve SystemdCgroup = true ekleyin

$ sudo vi /etc/containerd/config.toml

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur

Dosyayı kaydedin ve kapatın.

Tüm düğümlerde containerd hizmetini yeniden başlatın ve etkinleştirin,

 

$ sudo systemctl restart containerd
$ sudo systemctl enable containerd

5) Kubernetes Apt Deposunu Etkinleştir

Tüm düğümlerde Kubernetes apt deposunu etkinleştirin, çalıştırın

$ sudo apt install gnupg gnupg2 curl software-properties-common -y
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/cgoogle.gpg
$ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

6) Tüm düğümlere Kubelet, Kubectl ve Kubeadm’i kurun

kubelet, kubectl ve Kubeadm gibi Kubernetes küme bileşenlerini yüklemek için tüm düğümlerde aşağıdaki apt komutlarını çalıştırın.

$ sudo apt update
$ sudo apt install kubelet kubeadm kubectl -y
$ sudo apt-mark hold kubelet kubeadm kubectl

7) Kubeadm ile Kubernetes Kümesi Oluşturun

Şimdi, hepimiz Kubernetes kümesi oluşturmaya hazırız, aşağıdaki komutu yalnızca ana düğümden çalıştırın,

$ sudo kubeadm init --control-plane-endpoint=k8s-master

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur2

Yukarıdaki çıktı, kontrol düzleminin başarıyla başlatıldığını onaylar. Çıktıda, normal kullanıcı için küme ile etkileşim kurma komutları ve ayrıca herhangi bir çalışan düğümü bu kümeye katılma komutuna sahibiz.

Küme ile etkileşime başlamak için ana düğümde aşağıdaki komutları ç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

Düğüm ve küme bilgilerini almak için aşağıdaki kubectl komutunu çalıştırın,

$ kubectl get nodes
$ kubectl cluster-info

Yukarıdaki komutların çıktısı,

 

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur3

‘Kubeadm birleştirme’ komutunu çalıştırarak her iki çalışan düğümü de kümeye katılın.

Not: ‘kubeadm init’ komutunun çıktısından tam komutu kopyalayın. Benim durumumda, aşağıdaki komut

$ sudo kubeadm join k8s-master:6443 --token ta622t.enl212euq7z87mgj \

   --discovery-token-ca-cert-hash sha256:2be58f54458d0e788c96b8841f811069019161f9a3dd8502a38c773e5c6ead17

Çalışan Düğüm 1’den Çıktı,

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur4

İşçi Nod 2’den Çıktı,

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur5

Ana düğümden aşağıdaki komutu çalıştırarak düğümlerin durumunu kontrol edin,

$ kubectl get nodes
NAME          STATUS     ROLES           AGE     VERSION
k8s-master    NotReady   control-plane   23m     v1.25.0
k8s-worker1   NotReady   <none>          9m27s   v1.25.0
k8s-worker2   NotReady   <none>          2m19s   v1.25.0

Node’ların durumunu hazır hale getirmek için Calico veya flanel gibi POD ağ eklentileri kurmalıyız.

8) Calico Pod Ağ Eklentisini Kurun

Ana düğümde, calico yüklemek için aşağıdaki komutu çalıştırın,

$ kubectl apply -f https://projectcalico.docs.tigera.io/manifests/calico.yaml

Çıktı,

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur6

OS güvenlik duvarında Calico bağlantı noktalarına izin verin, tüm düğümlerde ufw komutlarının altında çalıştırın,

$ sudo ufw allow 179/tcp
$ sudo ufw allow 4789/udp
$ sudo ufw allow 51820/udp
$ sudo ufw allow 51821/udp
$ sudo ufw allow 4789/udp
$ sudo ufw reload

Calico bölmelerinin durumunu doğrulayın, çalıştırın

$ kubectl get pods -n kube-system

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur7

Mükemmel, şimdi düğümlerin durumunu tekrar kontrol edin,

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur8

Harika, yukarıdaki çıktı, ana ve çalışan düğümlerin hazır durumda olduğunu doğrular. Artık bu küme iş yükü için hazırdır.

9) Kubernetes Küme Kurulumunu Test Etme

Kubernetes küme kurulumunu test etmek için, dağıtım yoluyla nginx tabanlı uygulamayı dağıtmayı deneyelim. Komutların altında çalıştırın,

$ kubectl create deployment nginx-app --image=nginx --replicas 2
$ kubectl expose deployment nginx-app --name=nginx-web-svc --type NodePort --port 80 --target-port 80
$ kubectl describe svc nginx-web-svc

Yukarıdaki komutların çıktısı,

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur9

nodeport 30036 ile birlikte aşağıdaki curl komutunu kullanarak nginx tabanlı uygulamaya erişmeyi deneyin .

Not: curl komutunda, çalışan düğümün ana bilgisayar adından birini kullanabiliriz.

$ curl http://k8s-worker1:30036

Kubeadm ile Debian 11e Kubernetes Kumesi Nasil Kurulur10
Yukarıdaki komutun çıktısı, nginx tabanlı uygulamamıza erişebildiğimizi onaylıyor.

Bu kılavuzdakilerin hepsi bu kadar, umarım onu ​​bilgilendirici bulmuşsunuzdur ve Kubernetes kümesini Debian 11’e sorunsuz bir şekilde kurabilmişsinizdir. Lütfen sorularınızı ve geri bildirimlerinizi aşağıdaki yorumlar bölümüne gönderin.