Kubernetes Cluster Installation with kubeadm runtime-Containerd

H. Alperen Selcuk
3 min readApr 3, 2022

kubernetes 1.20 sonrası docker deprecated olmuştu, 1.24 ile beraber tamamen kubernetesden çıkarılacak bu da demek oluyor ki kubernetes hardway kurulumu için alternatif bir container runtime kullanmamız gerekiyor burda karşımıza containerd gelmekte.

öncelikle 1 master ve 1 worker node provision edelim. ben google cloud olarak kullanacağım.

aşağıdaki komutları iki node üzerinde de çalıştıracağız.

containerd

sudo su -
apt-get update
apt-get install containerd -y
mkdir -p /etc/containerd
containerd config default /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd

containerd yi enable ettikten sonra, containerd kubernetes ortamımızda container runtime olacak.

bundan sonra kubernetes componentlerini kuracağız.

kubernetes

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key addsudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"sudo apt-get install kubeadm kubelet kubectl -ysudo systemctl enable --now kubelet

disable swap işlemi yapacağız. “swapoff -a” ile yapacağız.

systcl config

sudo modprobe overlay

sudo modprobe br_netfilter

sudo nano /etc/sysctl.d/kubernetes.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

sudo sysctl --system

kubeadm (master)

kubeadm bize kubernetes master node yapmak işini görecek ve diğer nodeların worker olması için token verecek. burda init adımından sonra bize vereceği token ı bir yere kaydetmemiz önemli çünkü bir sonraki aşamada kullanıcaz.

sudo kubeadm config images pullsudo kubeadm init --pod-network-cidr=10.100.0.0/16

kubeadm (worker)

burada kaydettiğimiz token ı kullanarak node u cluster a dahil edeceğiz.

bende verdiği şekilde:

kubeadm join 10.154.0.2:6443 --token jcoqll.87yghpm7u6jby8mq \
--discovery-token-ca-cert-hash sha256:ca7de9ff1d48682d8ff5af612711347fec4b5b22f366f8704757ae53ead16bec

kubeconfig

kubernetes confiğinden kubeconfiği çekeceğiz. bu kubectl çalışırken baktığı yer olacak. bunu ayarlamadan kubectl çalıştırırsak herhangi bir kubernetes bulamadım diyecektir. önceki işlemin sonunda görebilirsiniz.

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

pod communications

kubernetes clusterımızın tam hazır olabilmesi için bir network operatorü yüklememiz gerekiyor bu farklı nodelarda podların birbirileri ile konuşması için gereklidir, bilinen en meşhurları flannel ve calicodur.

ben burada weave net kuracağım. weave in diğerlerinden farkı encryption sağlaması.

kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml

weave yükledikten sonra nodeların ready olduğunu görebilirsiniz.

umarım faydalı bir yazı olmuştur.

h.a.s.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Responses (1)

Write a response