Merhaba sevgili okurlar! Bu blog yazısında, Ubuntu üzerinde Multi-Master Kubernetes Cluster kurulumunu adım adım nasıl yapacağınızı anlatacağım. Multi-Master yapı, yüksek erişilebilirlik ve güvenilirlik sağlar. Bu kurulumda, birden fazla ana düğüm (master node) ve birden fazla işçi düğümü (worker node) kuracağız. Hadi başlayalım!

Ön Gereksinimler

  • En az 3 ana düğüm (master node) ve 2 işçi düğüm (worker node).
  • Tüm düğümler Ubuntu 20.04 çalıştırıyor olmalı.
  • Her düğümün benzersiz bir ana bilgisayar adı (hostname) ve sabit bir IP adresi olmalıdır.
  • Tüm düğümler birbirleriyle iletişim kurabilmelidir.

Adım 1: Sistem Güncellemeleri

Öncelikle, tüm düğümlerinizin güncel olduğundan emin olun:

sudo apt-get update
sudo apt-get upgrade -y

Adım 2: Docker Kurulumu

Tüm düğümler için Docker’ı kurun:

sudo apt-get install -y 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 -y docker-ce
sudo systemctl enable docker
sudo systemctl start docker

Adım 3: Kubernetes Kurulum Paketlerini Ekleyin

Tüm düğümler için Kubernetes bileşenlerini yüklemek için gerekli depoları ekleyin:

sudo apt-get install -y apt-transport-https ca-certificates curl
sudo curl -fsSL 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

Adım 4: Kubernetes Bileşenlerini Kurun

kubeadm, kubelet ve kubectl araçlarını tüm düğümlere yükleyin:

sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
sudo systemctl enable kubelet
sudo systemctl start kubelet

Adım 5: Ana Düğümleri (Master Nodes) Başlatın

İlk ana düğümü başlatın:

sudo kubeadm init --control-plane-endpoint "<LOAD_BALANCER_DNS>:6443" --upload-certs --pod-network-cidr=10.244.0.0/16

<LOAD_BALANCER_DNS> yerine yük dengeleyicinizin DNS adını veya IP adresini koyun.

Komut tamamlandığında, işçi düğümlerini ve diğer ana düğümleri eklemek için gerekli komutları ve sertifikaları içeren bir çıktı alacaksınız. Bu çıktıyı not edin.

Adım 6: Kubectl Yapılandırması

İlk ana düğümde, kubectl komutunu kullanabilmek için yapılandırmaları kopyalayın:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Adım 7: Diğer Ana Düğümleri Ekleyin

Diğer ana düğümlerde aşağıdaki komutu çalıştırarak kümeye katılın:

sudo kubeadm join <LOAD_BALANCER_DNS>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash> --control-plane --certificate-key <certificate-key>

<token>, <hash>, ve <certificate-key> değerlerini ilk ana düğümdeki kubeadm init komutunun çıktısından alacaksınız.

Adım 8: İşçi Düğümlerini Ekleyin

İşçi düğümlerinde aşağıdaki komutu çalıştırarak kümeye katılın:

sudo kubeadm join <LOAD_BALANCER_DNS>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

Adım 9: Pod Ağı Eklentisi Kurulumu

İlk ana düğümde, pod ağı eklentisini yükleyin. Bu örnekte, Flannel kullanılacaktır:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Tebrikler! Ubuntu üzerinde Multi-Master Kubernetes Cluster kurulumunu başarıyla tamamladınız. Artık yüksek erişilebilirlik ve güvenilirlik sağlayan bir Kubernetes kümesine sahipsiniz. Sorularınız olursa yorumlarda belirtmeyi unutmayın!