K3S Kubernetes Cluster Kurulum
bu yazımda Rancher tarafından geliştirilen lightweight bir kubernetes cluster olan K3S in kurulumunu inceleyeceğim.

K3s, normal kubernetes in sağladığı feature ları sağlayan bir lightweight kubernetes distrosudur. cpu ve ram kullanımını düşürmesi nedeniyle IoT, Test ve CI aşamaları için idealdir.
kurulumu oldukça basittir.
bir server ve agentlarından oluşan bir yapıya sahiptir.
ben 1 server 2 worker olarak çalışacağım, google cloud üzerinde 3 sunucu provision edeceğim. sunucu olarak ubuntu 20.04 kullanacağım.
!!! google size 3 ay harcamanız için $300 free tier vermekte. lab ve testlerinizi google cloud üzerinde yapabilirsiniz.

her node üzerinde /etc/hosts larına birbirini girebiliriz. ben google üzerinde yapacağımdan resolv.conf hazır durumda birbirlerinin isimlerini çözebiliyor.
pre-req
öncelik olarak bütün sunuculara docker yüklememiz gerekiyor.
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
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 focal stable"
sudo apt update
sudo apt install docker-ce -y
ardından enable ve start edeceğiz.
sudo systemctl start docker
sudo systemctl enable docker
master
öncelikle master üzerinde kurulum yapacağız ve diğer nodeları join edeceğiz kubeadm kuruluma benziyor.
curl -sfL https://get.k3s.io | sh -s - --docker
sitesinde bulunan script üzerinde docker flag i ile kurulum yapıyoruz. bu bize bir master ayağa kaldırıyor.

“systemctl status k3s” diyerek durumuna bakabilirsiniz.

hızlı bir şekilde master ayağa kalkıyor. nodelara runtime ve versiyon olarak detaylı bakabilirsiniz. şu an için master var.

master node üzerinde workerlar için bir token oluşuyor. bunu da sudo cat /var/lib/rancher/k3s/server/node-token
dizininden alabiliyoruz.

worker
workerları clustera dahil etmek için yine aynı scripti kullanıyoruz. master IP sini ve token ı ekliyoruz. aşağıda variable export ederek yapabiliriz.
export MASTER_IP=master
export K3S_TOKEN=K10ea710d50b5031823b97ac7e899743795398d6c2e77ed55c0425f9dea35ee8c84::server:5f708ce7cfb5feba270f812dcb99283c
curl -sfL http://get.k3s.io | K3S_URL=https://${MASTER_IP}:6443 K3S_TOKEN=${K3S_TOKEN} sh -s - --docker
her iki worker üzerinde de aynı işlemi yapıyoruz. ve agent servisin çalıştığından emin oluyoruz.

master üzerinden tekrar nodelara bakarsak;

status lerin ready olduğunu görebilirsiniz.
kubeadm kurulumu gibi basit bir şekilde kuruyorsunuz.
umarım yararlı olmuştur.
PS: cluster kaldırılması.
master:
sudo /usr/local/bin/k3s-uninstall.sh
worker:
sudo /usr/local/bin/k3s-agent-uninstall.sh
h.a.s.