DEV Community

Suleyman
Suleyman

Posted on • Edited on

Rancher ile RKE2 Kubernetes Cluster Kurulumu

Merhaba,

Bu makalemizde Rancher ile kendi kubernetes clusterımızı kuracağız. Rancher Rancher , merkezi noktadan birden fazla kubernetes clusterımızı yönetebileceğimiz aynı zaman da RKE(rancher kubernetes engine) kurabileceğiz bir platformdur. Biz bu makalede RKE kuracağız.

RKE, Rancher Kubernetes Engine (RKE) tamamen Docker üzerinde çalışan ve CNCF sertifikalı bir Kubernetes dağıtımıdır. Rancher Kubernetes Engine'in sadece Docker bağımlılığına sahip olması, hızlıca yönetilebilir bir Kubernetes Cluster'ına sahip olma açısından önemli bir avantaj sağlamaktadır.

Ben bu ortamda bir adet master ve bir adet worker olarak kuracağım. Sizler birden fazla worker oluşturabilirsiniz. Benim test ortamım aşağıdaki gibi olacaktır. Ben rancher konteynerının olduğu sunucu ile kubernetes masterın olduğu sunucuları ayrı tutacağım. Öncelikle bu üç sunucuya docker yüklemek gerekmektedir. Ubuntu sunucularda docker kurulumuna aşağıdaki bağlantıdan ulaşabilirsiniz.

https://docs.docker.com/engine/install/ubuntu/

172.34.47.100 - Docker , Rancher konteynarının çalıştığı sunucu
172.34.47.120 - Master
172.34.47.121 - Node-1
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki komutla rancher containerımızı başlatıyoruz. Bu komutu ben 172.34.47.100 ip adresine sahip sunucuda çalıştırıyorum.

docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  --privileged \
  rancher/rancher:latest
Enter fullscreen mode Exit fullscreen mode

Konteynar ayağa kalktığında tarayıcımızda https://172.34.47.100 yazıp rancher arayüzüne erişiyoruz. İlk defa eriştiğimizde giriş parola için aşağıdaki komutu verecektir. Bu komutu docker sunucumuzda çalıştırıyoruz. container-id ' yi değiştiriyoruz.

docker logs  container-id  2>&1 | grep "Bootstrap Password:"
Enter fullscreen mode Exit fullscreen mode

Ardından bize vereceği şifreyi rancher arayüzünde girdikten sonra istersek bir parola belirleyebilir istersek rancherın vereceği parolayı kullanabiliriz. Ben değiştireceğim.

Image description

Şimdi karşımızda çıkan ekranda create diyerek clusterımızı oluşturabiliriz. "Import Existing" ile herhangi bir kubernetes clusterımızı bu rancher platformumuza ekleyebiliriz.

Image description

Ardından "CUSTOM" sekmesine tıklıyoruz. Clusterımızı isim verdikten sonra herhangi ek bir ayar yapmamıza gerek kalmadan "Create" sekmesine tıklıyoruz. Sizler isterseniz ayarları kendinize göre düzenleyebilirsiniz. Bizler test ortamı için kuracağımız için fazla ayar yapmamıza gerek yok.

Image description

Sırada sunucularımızı bu kubernetes clusterımıza dahi etmekte. Oluşturduğumuzda karşımıza aşağıdaki ekran çıkacaktır. Master node için "etcd" ve "Control Plane" seçeneklerinizi seçiyoruz.

Image description

ve kodumuzu kopyalıp altında ki "Insecure" seçeneğini aktif ediyoruz. Eğer insecure seçeneğini aktif etmezsek clustera dahil ettiğimizde güvenlik sebebiyle eklemeyecektir.

Kodu master sunucumuzda çalıştırıyoruz. Worker için sadece "Worker" seçeneğini seçip kodu kopyalıyoruz ve worker sunucumuzda çalıştırıyoruz. Yine "Insecure" seçeneğini aktif ediyoruz.

Ardından biraz zaman geçtikten sonra clusterınız aktif hale gelecektir. Artık kubernetesi CLI dan yönetebilmek için kubectl kurulumunu gerçekleştirmemiz gerekiyor.

Image description

KUBECTL KURULUMU


   curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
Enter fullscreen mode Exit fullscreen mode
   curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
Enter fullscreen mode Exit fullscreen mode

Eğer root kullanıcısı ile işlem yapacaksanız aşağıdaki komutu kullanabilirsiniz. Eğer farklı bir kullanıcı ile işlem yapacaksanız 2. komutu kullanabilirsiniz.

1- sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
Enter fullscreen mode Exit fullscreen mode
2- chmod +x kubectl
mkdir -p ~/.local/bin
mv ./kubectl ~/.local/bin/kubectl
Enter fullscreen mode Exit fullscreen mode

Eğer kubectl komutlarını çalıştırdığınızda aşağıdaki gibi bir hata alırsanız aşağıdaki adımları uygulayabilirsiniz.

E0205 21:06:29.037921   12587 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp 127.0.0.1:8080: connect: connection refused
E0205 21:06:29.038218   12587 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp 127.0.0.1:8080: connect: connection refused
E0205 21:06:29.039847   12587 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp 127.0.0.1:8080: connect: connection refused
E0205 21:06:29.040120   12587 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp 127.0.0.1:8080: connect: connection refused
E0205 21:06:29.041661   12587 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp 127.0.0.1:8080: connect: connection refused
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Enter fullscreen mode Exit fullscreen mode
1- mkdir /home/suleyman/.kube
2- sudo su -
3- cat /etc/rancher/rke2/rke2.yaml > /home/suleyman/.kube/config
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki görselde 172.34.47.120 yerine "127.0.0.1" yazmaktadır. Siz onu master sunucunuzun ip adresi ile değiştirmeniz gerekmektedir.

Artık clusterımız hazır durumdadır. Şimdi clusterımız üzerine loadbalancer, ingress controller, dynamic storage gibi uygulamaları deploy edeceğiz. Bu uygulamaların da kurulumunu sayfamda bulabilirsiniz.

İyi günler.

Top comments (0)