Bu doküman, RHEL (Red Hat Enterprise Linux) 9.2 işletim sistemine sahip bir sunucuya Kubernetes versiyon 1.29.3 kurulumunu anlatmaktadır.


İndirilecek Dosya

https://fss.apinizer.com/index.php/s/3PBEDgbRNdkMqul/download 
https://fss.apinizer.com/index.php/s/MQj9Qe8aaBVYDir/download
POWERSHELL

Online makine üzerinde .tar halinde indirilen dosya offline makineye taşınmalıdır. 

sudo tar xvf offlineApinizerInstallation-RHEL-9.2-K8S-1.29.tar
POWERSHELL
ls
#Komutu kullanarak aşağıdaki dosyaların olduğunu teyit ediniz.
#required_rpms, kube_rpms, kube-flannel.yml ,mongo_rpms, elasticsearch 
POWERSHELL
# Güvenlik duvarı kapatılır
sudo systemctl stop firewalld
sudo systemctl disable firewalld

# Sunuculardaki iletişim sorunlarını önlemek için SELinux'u devre dışı bırakılır.
sudo setenforce 0 
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# Swap kapatılır ve yeniden başlamasının önlenmesi için /etc/fstab dosyası içindeki swap satırı silinir.
sudo swapoff -a
sudo vi /etc/fstab
# Daha sonra vi dosyasını kapatılır (:wq) 
POWERSHELL

1-) Containerd Ve Gerekli Paketlerin Kurulması

required_rpms dizininde bulunan kurulumları gerçekleştirir.

sudo yum install -y --cacheonly --disablerepo=* required_rpms/*.rpm --skip-broken
POWERSHELL
#containerd modülünün ayarları
sudo mkdir -p /etc/containerd    

sudo containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml


#containerd modülünün başlatılması
sudo systemctl restart containerd
sudo systemctl enable containerd
systemctl status containerd
POWERSHELL

2-)Kubernetes Paketlerinin Kurulması

#Modüllerin çalışmakta olan sistemde yüklenmeleri için
sudo modprobe overlay
sudo modprobe br_netfilter

sudo tee /etc/modules-load.d/k8s.conf <<EOF
overlay
br_netfilter
EOF

#sysctl ayarları
sudo vi /etc/sysctl.d/k8s.conf
POWERSHELL
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
net.ipv4.tcp_max_syn_backlog=40000
net.core.somaxconn=40000
net.core.wmem_default=8388608
net.core.rmem_default=8388608
net.ipv4.tcp_sack=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_fin_timeout=15
net.ipv4.tcp_keepalive_intvl=30
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_moderate_rcvbuf=1
net.core.rmem_max=134217728
net.core.wmem_max=134217728
net.ipv4.tcp_mem=134217728 134217728 134217728
net.ipv4.tcp_rmem=4096 277750 134217728
net.ipv4.tcp_wmem=4096 277750 134217728
net.core.netdev_max_backlog=300000

POWERSHELL
sudo sysctl --system
POWERSHELL

kube_rpms dizininde bulunan kurulumları gerçekleştirir.

sudo yum install -y --cacheonly --disablerepo=* kube_rpms/*.rpm 
POWERSHELL
systemctl enable --now kubelet.service

#Kubernetes kurulum kontrolü
kubectl version --client && kubeadm version
POWERSHELL

3-)Kubernetes Imagelarının Kurulması


kube_images dizininde bulunan kurulumları gerçekleştirir.

sudo ctr --namespace k8s.io images import kube_images/kube-apiserver_v1.29.3.tar
sudo ctr --namespace k8s.io images import kube_images/kube-controller-manager_v1.29.3.tar
sudo ctr --namespace k8s.io images import kube_images/kube-scheduler_v1.29.3.tar
sudo ctr --namespace k8s.io images import kube_images/kube-proxy_v1.29.3.tar
sudo ctr --namespace k8s.io images import kube_images/pause_3.9.tar  
sudo ctr --namespace k8s.io images import kube_images/etcd_3.5.12-0.tar
sudo ctr --namespace k8s.io images import kube_images/coredns_v1.11.1.tar
sudo ctr --namespace k8s.io images import kube_images/flannel-cni-plugin_v1.1.2.tar
sudo ctr --namespace k8s.io images import kube_images/flannel_v0.20.2.tar
POWERSHELL
Flannel pause-3.6 hatası verirse pause-3.6 import edilir. Aşağıdaki linkten pause-3.6.tar dosyası indirilir.
http://fss.apinizer.com/index.php/s/QDvVNuCKbHV9SjU
sudo ctr --namespace k8s.io images import pause_3.6.tar
POWERSHELL


4-) Kubeadm Init

Önemli: Kubeadm ile başlatmadan önce "nslookup" ile dns kayıt çözümlemesi yaptığından emin olun.


Bu Node, kümedeki ilk Node olduğu için Kubernetes Control Plane olarak seçilecektir.

sudo kubeadm init --pod-network-cidr="10.244.0.0/16" --control-plane-endpoint="<MASTER_SERVER_IP_ADDRESS>" --upload-certs --kubernetes-version=v1.29.3
POWERSHELL
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
POWERSHELL

Worker node kümeye dahil etmek için:

Aşağıdaki komut master node üzerinde çalıştırılarak kümeye dahil etme komutunu çıktı olarak alabilirsiniz.

kubeadm token create --print-join-command
POWERSHELL

5-) Flannel Oluşturma

ls
Komutu kullanarak dökümanın başında indirdiğiniz .tar dosyasından gelen kube-flannel.yml bulunduğunu teyit ediniz.
POWERSHELL
kubectl apply -f kube-flannel.yml
POWERSHELL


7-) Apinizer Image'lerinin Kurulması


sudo tar xvf 2024.01.6.tar
POWERSHELL
sudo ctr --namespace k8s.io images import manager-2024.01.06.tar apinizercloud/manager:2024.01.6
sudo ctr --namespace k8s.io images import worker-2024.01.6.tar apinizercloud/worker:2024.01.6
sudo ctr --namespace k8s.io images import cache-2024.01.6.tar apinizercloud/cache:2024.01.6
sudo ctr --namespace k8s.io images import integration-2024.01.6.tar apinizercloud/integration:2024.01.6
sudo ctr --namespace k8s.io images import portal-2024.01.6.tar apinizercloud/portal:2024.01.6
POWERSHELL



8-) MongoDB Kurulması

mongo_rpms dizininde bulunan  kurulumları gerçekleştirir.

sudo yum install -y --cacheonly --disablerepo=* mongo_rpms/*.rpm --skip-broken 
POWERSHELL

Not:  Kurulum sonrası  MongoDB konfigürasyonları E Red Hat İşletim Sisteminde MongoDB Kurulumu dökümanından devam edebilirsiniz. ( 2.1 kurulum adımını geçebilirsiniz.)


9-) Apinizer Kurulumu


Apinizer kurulumu için E Apinizer Kurulumu ve Ayarları sayfasından gerçekleştirin.


10-) Elasticsearch Kurulumu

ls
elasticsearch dizini görüntülenir.
POWERSHELL

Yukarıda indirdiğiniz dosyadan çıkan elasticsearch dizinini görüntülediğinizden emin olun

sudo mkdir /opt/elasticsearch

cd elasticsearch

# Offline kurulum klasörleri içindeki dosyayı taşıyın.
sudo mv elasticsearch-7.9.2-linux-x86_64.tar.gz /opt/elasticsearch/  


cd /opt/elasticsearch
sudo tar -xzf elasticsearch-7.9.2-linux-x86_64.tar.gz

#Bundan sonra elasticsearch kurulum dökümanına geçin. Ancak madde 2.2 de bulunan ilk dört adımı uygulamayınız.
POWERSHELL

Önemli: Kurulum dosyasını bulunduğu dizinden /opt/elasticsearch/ klasörüne taşıdıktan sonra Red Hat İşletim Sisteminde Elasticsearch Kurulumu sayfasından konfigürasyonları gerçekleştirebilirsiniz.