Bu doküman Kubernetes, Docker or Containerd, Mongodb uygulamalarının RHEL (Red Hat Enterprise Linux) 8.4, 8.6 ve 8.9 işletim sistemlerine kurulumlarını anlatır. Ayrıca Rocky Linux 8.4, 8.6 ve 8.9 dağıtımlarına da uygulanabilir.

Eğer mümkünse, her zaman seçtiğiniz işletim sisteminin son versiyonunu kullanın ve internet erişimiyle sunucuların ve kurulacak paketlerin son versiyonlarını kurun.


İndirilecek dosya

Apinizer imajlarının son sürümüne ait indirme linki için lütfen support@apinizer.com mail adresi üzerinden bizimle iletişime geçin.

Rhel 8.4 and 8.6 işletim sistemlerine Kubernetes, Docker, Mongodb ve Elasticsearch uygulamalarının kurulumu için:
Dosya adı: offlineApinizerInstallation-RedHat86.tar (1.61 GB)
İndirme linki: https://drive.google.com/file/d/1nTcklCjpmVhPRjSiPMo-XK7nsTNtHv5o

Rhel 8.9 işletim sistemine Kubernetes, Containerd, Mongodb ve Elasticsearch uygulamalarının kurulumu için:
Dosya adı: offlineApinizerInstallation-RHEL89.tar (1.4 GB)
İndirme linki: https://fss.apinizer.com/index.php/s/uOXiPzhsEB8DQXJ
POWERSHELL


Sonraki adımlarda bulunan yönergeler ilgili dosyaların içinde de mevcut olup, internete kısıtlı erişimi olabilecek sunucular için burada da açık şekilde paylaşılmıştır.

Dosyaları çıkarmak için "tar xvzf dosyaAdi.tar" veya "tar xf dosyaAdi.tar" komutlarını kullanabiliriz.


Öncelikle otomatik abonelik hatası almamak için ilk once asagıdaki satıra gidilip enabled 0 yapılır.

vim /etc/yum/pluginconf.d/subscription-manager.conf
enabled=0
POWERSHELL


Sadece Rhel-8.4 veya Rhel-8.6'da net-tools paketi yüklenir.

cd offlineApinizerInstallation-RedHat86
yum install -y --cacheonly --skip-broken --disablerepo=* *.rpm
POWERSHELL

Apinizer kullanıcısı oluşturulur

adduser apinizer
usermod -aG wheel apinizer
passwd apinizer
POWERSHELL

Güvenlik duvarı kapatılır

sudo systemctl stop firewalld
sudo systemctl disable firewalld
POWERSHELL

Selinux kapatılır

Sunuculardaki iletişim sorunlarını önlemek için SELinux'u devre dışı bırakalım. 

sudo setenforce 0
 
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
POWERSHELL

Swap devre dışı bırakılır

Node'lardaki iletişim sorunlarını önlemek için swap'i devre dışı bırakalım.  Bunun için aşağıdaki adımlar yapılır. ve /etc/fstab dosyası içindeki swap satırı silinir.

sudo swapoff -a
sudo vi /etc/fstab             
POWERSHELL

IP Tables ayarlaması

Daha sonra vi dosyası kapatılır (:wq). 

sudo vi /etc/sysctl.d/k8s.conf
 
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

Değişiklikler kaydedilir

sudo modprobe br_netfilter
sudo sysctl --system
POWERSHELL

br_netfilter Modülü Yüklenir (→ Reboot)    

sudo lsmod | grep br_netfilter
sudo reboot
POWERSHELL

Docker Kurulumu (Sadece RHEL 8.4 ve 8.6 kurulumlarında)

Docker kurulumuna başlamadan önce aşağıdaki paketlerin silinmesi gerekmektedir.

yum remove podman* -y 
yum remove buildah* -y

cd <InstallationDirectory>/docker
 
rpm -ivh --replacefiles --replacepkgs *.rpm
 
# Create required directories
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo mkdir -p /etc/docker

# Create daemon json config file
sudo tee /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": ["overlay2.override_kernel_check=true"]
}
EOF

# Start and enable Services
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker

sudo usermod -aG docker apinizer
POWERSHELL


Containerd Kurulumu (Sadece RHEL 8.9 kurulumunda)

sudo yum install -y --cacheonly --disablerepo=* required_rpms/*.rpm --skip-broken
POWERSHELL
#containerd module settings
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
 
 
#initializing and starting the containerd module 
sudo systemctl restart containerd
sudo systemctl enable containerd
systemctl status containerd
POWERSHELL

Kubernetes Kurulumu

apinizerOffline/kubernetes klasörüne gidilir ve rpm'ler çalıştırılır.

cd apinizerOffline/kubernetes 

rpm -ivh --replacefiles --replacepkgs *.rpm  
POWERSHELL

(Master ve Worker Sunucular üzerinde)

.tar halindeki kubernetes imajları docker'a yüklenir.

#Eğer RHEL 8.4 veya 8.6 kullanıyorsanız
docker load < kube-apiserver_v1.18.20.tar
docker load < kube-proxy_v1.18.20.tar
docker load < kube-controller-manager_v1.18.20.tar
docker load < kube-scheduler_v1.18.20.tar
docker load < pause_3.2.tar
docker load < etcd_3.4.3-0.tar
docker load < coredns.tar
docker load < flannel_v0.13.1-rc2.tar
docker load < rancher.tar
docker load < rancher2.tar
docker load < metricserver.tar

#Eğer RHEL 8.9 kullanıyorsanız 
sudo ctr --namespace k8s.io images import kube_images/kube-apiserver-v1.31.4.tar          
sudo ctr --namespace k8s.io images import kube_images/kube-controller-manager-v1.31.4.tar 
sudo ctr --namespace k8s.io images import kube_images/kube-scheduler-v1.31.4.tar          
sudo ctr --namespace k8s.io images import kube_images/kube-proxy-v1.31.4.tar              
sudo ctr --namespace k8s.io images import kube_images/pause-3.10.tar                      
sudo ctr --namespace k8s.io images import kube_images/etcd-3.5.15-0.tar                   
sudo ctr --namespace k8s.io images import kube_images/coredns-v1.11.3.tar                 
sudo ctr --namespace k8s.io images import kube_images/flannel-cni-plugin-v1.6.2.tar       
sudo ctr --namespace k8s.io images import kube_images/flannel-v0.26.4.tar
POWERSHELL
systemctl enable kubelet && systemctl start kubelet
POWERSHELL


(Master Node üzerinde)

#Eğer RHEL 8.4 veya 8.6 kullanıyorsanız
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=<MASTER_SERVER_IP_ADDRESS> --kubernetes-version=v1.18.20

#Eğer RHEL 8.9 kullanıyorsanız 
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=<MASTER_SERVER_IP_ADDRESS> --kubernetes-version=v1.31.4
POWERSHELL

(Master Node üzerinde)

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown -R $(id -u):$(id -g) $HOME/.kube
POWERSHELL
kubectl apply -f kube-flannel.yml
POWERSHELL


Apinizer İmajlarının Kubernetes'e Yüklenmesi (On Worker nodes)

cd apinizerOffline/apinizerImages

#Eğer RHEL 8.4 veya 8.6 kullanıyorsanız
docker load < manager_<APINIZER_VERSION>.tar
docker load < worker_<APINIZER_VERSION>.tar
docker load < cache_<APINIZER_VERSION>.tar
docker load < integration_<APINIZER_VERSION>.tar
docker load < portal_<APINIZER_VERSION>.tar

#Eğer RHEL 8.9 kullanıyorsanız
sudo ctr --namespace k8s.io images import manager-<APINIZER_VERSION>.tar apinizercloud/manager:<APINIZER_VERSION>
sudo ctr --namespace k8s.io images import worker-<APINIZER_VERSION>.tar apinizercloud/worker:<APINIZER_VERSION>
sudo ctr --namespace k8s.io images import cache-<APINIZER_VERSION>.tar apinizercloud/cache:<APINIZER_VERSION>
sudo ctr --namespace k8s.io images import integration-<APINIZER_VERSION>.tar apinizercloud/integration:<APINIZER_VERSION>
sudo ctr --namespace k8s.io images import portal-<APINIZER_VERSION>.tar apinizercloud/portal:<APINIZER_VERSION>
POWERSHELL


MongoDB Kurulumu

sudo yum install -y --cacheonly --skip-broken --disablerepo=* <MONGODB_RPM_DIRECTORY>/*.rpm
rpm -ivh --replacefiles --replacepkgs <MONGODB_RPM_DIRECTORY>/*.rpm
POWERSHELL

Kurulum sonrası MongoDB konfigürasyonları için Red Hat İşletim Sisteminde MongoDB Kurulumu dökümanından devam edebilirsiniz.

Elasticsearch Kurulumu

Elasticsearch paketi hedef klasöre çıkarılır.

sudo mkdir /opt/elasticsearch

# Move the file inside the offline installation folders.
sudo mv <ELASTICSEARCH_DIRECTORY>/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
POWERSHELL

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.

Apinizer Kurulumu

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