Kubernetes’ i kullanmak için bir cluster yapısı oluşurmamız ve kurulumu yapmamız gerekir. Bu kurulumda 3 tane vm ubuntu server 20.04 LTS kurulu makinalara k8s cluster’ ını adım adım kurmayı göstereceğim.

Öncelikle Tüm Nodelar da Yapılacak Adımlar
Öncelikle tüm nodelarımızda root olup güncellemeleri yapalım.
sudo su
apt update
Swap(takas) alanını k8s clusterımızda kapatmamız gerekecek
swapoff -a
nano /etc/fstab

makinaların hostname’ lerini ayarlayalım.
nano /etc/hostname
/etc/hosts dosyalarına nodeların ip ve hostnamelerini giriniz.
nano /etc/hosts
Nodelara statik ip vermek
Eğer node lara statik ip tanımlamadıysanız aşağıdaki gibi statik ip tanımlayın.
nano /etc/netplan/00-installer-config.yaml
---
network:
ethernets:
enp0s3:
addresses:
- 192.168.1.2/24
gateway4: 192.168.1.1
nameservers:
addresses:
- "8.8.8.8"
- "8.8.4.4"
version: 2
---
netplan apply

OpenSSH-Server kurulumu
apt install openssh-server -y
Docker kurulumu
apt update
apt install docker.io -y
kubeadm kubelet ve kubectl kurulumları
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
kurulumları her node da da yaptıktan sonra master node ‘ a geçiyoruz.
Master Node için yapılması gerekenler
Şimdi kubernetes master nodemuzu ayarlayacağız aşağıdaki kodu çalıştırın.
kubeadm init --apiserver-advertise-address=192.168.1.2 --pod-network-cidr=192.168.0.0/16

kubeadm join 192.168.1.2:6443 --token 1kvs4b.qetq7lyj2dhamfe8 \
--discovery-token-ca-cert-hash sha256:9994c9e2fca048fafa3d375b57b61f6668120dafcc0c4ee97f10f473db68f739
önemli !! : yukarıdaki çıktıda “kubeadm join” ile başlayan komutu master hariç nodlarda çalıştırmanız gerekmektedir. Bu komutu çalıştıdıktan sonra node’ larınızı master node eklemiş olursunuz.
kurulum bittikten sonra aşağıdaki komutları root olmayan bir kullanıcıyla çalıştırın.
root@master-node:/home/master#
root@master-node:/home/master# su master
master@master-node:~$ mkdir -p $HOME/.kube
master@master-node:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
master@master-node:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

kubectl çalışıp çalışmadığını kontrol etmek için aşağıdaki kodu çalıştırın.
kubectl get pods -o wide --all-namespaces

yukarıdaki çıktıda core dnsler hariç diğerlerinin çalıştığını göreceksiniz şimdi calico ‘ yu kuralım.
curl https://docs.projectcalico.org/manifests/calico.yaml -O
kubectl apply -f calico.yaml
kurulum tamalandıktan sonra aşağıdaki kodu çalıştırın ve bir süre sonra tüm status ların Running olduğunu göreceksiniz.
watch kubectl get pods -o wide --all-namespaces

Node ların listelenmesi
Eğer kurulumda herşey yolunda gittiyse aşağıdaki komutu çalıştırdıktan sonra kubernetes cluster’ ınızdaki tüm nodeları göreceksiniz.
kubectl get nodes

Yukarıdaki çıktıyı aldıysanız clusteriniz sorunsuz çalışıyor demektir.
3 Yorum