RKE ile Kubernetes altyapısını hazırlama

RKE, Rancher Kubernetes Engine olarak, CNCF sertifikalı bir Kubernetes altyapısıdır. Özellikle Rancher Kubernetes yönetim sistemleri ile entegre çalışabilmesi nedeniyle tercih edilebilmektedir.

Temel kurulumlar

Kubectl kurulumu

K…


This content originally appeared on DEV Community and was authored by Ali Orhun Akkirman

RKE, Rancher Kubernetes Engine olarak, CNCF sertifikalı bir Kubernetes altyapısıdır. Özellikle Rancher Kubernetes yönetim sistemleri ile entegre çalışabilmesi nedeniyle tercih edilebilmektedir.

Temel kurulumlar

Kubectl kurulumu

Kubectl, Kubernetes ortamınıza bağlanabilmek ve Kubernetes ortamınızı yönetebilmek için gerekli olan bir cli aracıdır. Kurulumu ise oldukça basittir ve aşağıdaki gibidir.

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" -k
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

Bu komutlarla birlikte artık kubectl komutunu kullanabilir durumda olacaksınız. Bu aracı kubernetes olmayan bir ortama da kolaylıkla kurup, kubeconfig yapılandırması yaparak uzaktaki bir kubernetes ortamına da bağlanıp, yönetebilirsiniz.

Kurulumu kontrol etmek için ise aşağıdaki komut çalıştırılır:

kubectl version --client  --output=json

Bu komutun çıktısı ise aşağıdaki gibi ifadeleri içermektedir.

{
  "clientVersion": {
    "major": "1",
    "minor": "27",
    "gitVersion": "v1.27.1",
    "gitCommit": "4c9411232e10168d7b050c49a1b59f6df9d7ea4b",
    "gitTreeState": "clean",
    "buildDate": "2023-04-14T13:21:19Z",
    "goVersion": "go1.20.3",
    "compiler": "gc",
    "platform": "linux/amd64"
  },
  "kustomizeVersion": "v5.0.1"
}

RKE kurulumu (yapılandırması değil)

RKE, başlıkta da belirttiğimiz gibi "Rancher Kubernetes Engine" ortamını hazırlayacak olan pakettir. Bir sonraki yazıda bu konuda örnek bir yapılandırma dosyası kullanılarak kubernetes kümesi ayağa kaldırılacaktır.

İlgili RKE paketinin kurulabilmesi için aşağıdaki komutlar kullanılabilir.

curl -fsSL -o rke_linux-amd64 -k https://github.com/rancher/rke/releases/download/v1.4.3/rke_linux-amd64
chmod +x rke_linux-amd64
sudo mv rke_linux-amd64 /usr/local/bin/rke

Bu komutla birlikte artık rke komut satırı kullanılabilir olacaktır. Versiyon bilgisini öğrenmek için ise aşağıdaki komut kullanılabilmektedir.

rke --version

İlgili komutun çıktısı da aşağıdaki gibidir.

rke version v1.4.3

Helm paket yöneticisinin kurulumu

Helm, Kubernetes ortamları için en çok kullanılan paket yöneticisidir. Helm Chartlar ile yüklemeler yapılabilmektedir. Kurulum için ise aşağıdaki komut tek başına kullanılabilir. Bu komut bir betik indirerek bu betiği çalıştırmaktadır.

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 -k
chmod 700 get_helm.sh 
sudo bash get_helm.sh 

Aynı zamanda eğer betik ,ndirmek yerine elle de yapılabilir. Üstteki komut yapılı ise diğeri yapılması gerekmemektedir.

wget https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz --no-check-certificate
tar xvf helm-v3.11.2-linux-amd64.tar.gz 
cd linux-amd64/
sudo mv helm /usr/local/bin/
sudo chmod +x /usr/local/bin/helm 

Bu iki seçenek sonrasında helm cli uygulaması kurulmuş olacaktır. Sürüm kontrolü için aşağıdaki komut kullanılabilir:

helm version

Bu komutun çıktısı da aşağıdaki gibidir.

version.BuildInfo{Version:"v3.11.3", GitCommit:"323249351482b3bbfc9f5004f65d400aa70f9ae7", GitTreeState:"clean", GoVersion:"go1.20.3"}

Docker kurulumu

Kubernetes altyapısında Docker kullanmak istemeniz durumunda da aşağıdaki gibi kurulumları yapabilirsiniz.

curl https://releases.rancher.com/install-docker/20.10.sh -k | sudo bash -
sudo systemctl enable --now docker

Kurulum sonrasında sürüm kontrolü için de aşağıdaki komut kullanılabilir:

sudo docker version --format '{{.Server.Version}}'

Çıktısı da aşağıdaki gibidir:

20.10.23

RKE kullanıcısı ayarları

Özellikle RKE node'larının birbiriyle konuşabilmesi için RKE kullanıcısı olması gerekmektedir. Bu kullanıcı oluşturmak için aşağıdaki gibi komutlar kullanılabilir.

sudo useradd -m rke
sudo passwd rke
sudo usermod -s /bin/bash rke
sudo echo "rke    ALL=(ALL:ALL) ALL" > /etc/sudoers.d/rke
sudo usermod -aG docker rke

Bu komutlarla birlikte rke kullanıcısı ve parolası belirlenip, login olunduğunda bash ortamının açılması sağlanmaktadır. Ayrıca rke kullanıcısını sudo yetkisine sahip yapılması da çeşitli durumlarda faydalı olabilmektedir.

Temel yapılandırma ayarları

Öncelikle çeşitli modprobe seçeneklerini açmak için aşağıdaki komut kullanılabilmektedir.

for module in br_netfilter ip6_udp_tunnel ip_set ip_set_hash_ip ip_set_hash_net iptable_filter iptable_nat iptable_mangle iptable_raw nf_conntrack_netlink nf_conntrack nf_conntrack_ipv4   nf_defrag_ipv4 nf_nat nf_nat_ipv4 nf_nat_masquerade_ipv4 nfnetlink udp_tunnel veth vxlan x_tables xt_addrtype xt_conntrack xt_comment xt_mark xt_multiport xt_nat xt_recent xt_set  xt_statistic xt_tcpudp;      do        if ! lsmod | grep -q $module; then          echo "module $module is not present";          sudo modprobe $module;        fi; done

Bu ayarlar yapıldıktan sonra SWAP'in kapatılması önerilmektedir. Bunun için /etc/fstab dosyası içerisindeki swap bulunan satırın başına diyez "#" konularak kapatılması önerilmektedir.

#/swap.img      none    swap    sw      0       0

Bu adımdan sonra aşağıdaki komutla da swap'in kapatılması verimli olacaktır.

sudo swapoff -a

Bunlar dışında ağ ayarları ile ilgili /etc/sysctl.d/99-kubernetes.conf dosyasında aşağıdaki 3 satır olacak şekilde kaydedilmesi doğru olacaktır.

net.bridge.bridge-nf-call-iptables  = 1
net.ipv4.ip_forward                 = 1
net.bridge.bridge-nf-call-ip6tables = 1

Bu dosya oluşturulduktan sonra aşağıdaki komut çalıştırılır.

sudo sysctl --system

Son söz

Bu adımlarla birlikte işletim sisteminin bir Kubernetes kümesi içerisinde node olarak hizmet verebilmesi için altyapı hazırlanmış olacaktır. Makinenin yeniden başlatılması özellikle rke kullanıcısının konteynır yapısı ile entegrasyon kurması için güzel olabilir. Fakat bu haliyle de çalışabilecektir. Bir sonraki yazıda yapılandırma ayarlarıyla birlikte küme ayağa kaldırılacaktır.


This content originally appeared on DEV Community and was authored by Ali Orhun Akkirman


Print Share Comment Cite Upload Translate Updates
APA

Ali Orhun Akkirman | Sciencx (2023-05-03T19:58:35+00:00) RKE ile Kubernetes altyapısını hazırlama. Retrieved from https://www.scien.cx/2023/05/03/rke-ile-kubernetes-altyapisini-hazirlama/

MLA
" » RKE ile Kubernetes altyapısını hazırlama." Ali Orhun Akkirman | Sciencx - Wednesday May 3, 2023, https://www.scien.cx/2023/05/03/rke-ile-kubernetes-altyapisini-hazirlama/
HARVARD
Ali Orhun Akkirman | Sciencx Wednesday May 3, 2023 » RKE ile Kubernetes altyapısını hazırlama., viewed ,<https://www.scien.cx/2023/05/03/rke-ile-kubernetes-altyapisini-hazirlama/>
VANCOUVER
Ali Orhun Akkirman | Sciencx - » RKE ile Kubernetes altyapısını hazırlama. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2023/05/03/rke-ile-kubernetes-altyapisini-hazirlama/
CHICAGO
" » RKE ile Kubernetes altyapısını hazırlama." Ali Orhun Akkirman | Sciencx - Accessed . https://www.scien.cx/2023/05/03/rke-ile-kubernetes-altyapisini-hazirlama/
IEEE
" » RKE ile Kubernetes altyapısını hazırlama." Ali Orhun Akkirman | Sciencx [Online]. Available: https://www.scien.cx/2023/05/03/rke-ile-kubernetes-altyapisini-hazirlama/. [Accessed: ]
rf:citation
» RKE ile Kubernetes altyapısını hazırlama | Ali Orhun Akkirman | Sciencx | https://www.scien.cx/2023/05/03/rke-ile-kubernetes-altyapisini-hazirlama/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.