Ana içeriğe atla
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 [email protected] 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
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
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

Apinizer kullanıcısı oluşturulur

adduser apinizer
usermod -aG wheel apinizer
passwd apinizer

Güvenlik duvarı kapatılır

sudo systemctl stop firewalld
sudo systemctl disable firewalld

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

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

IP Tables ayarlaması

Daha sonra vi dosyası kapatılır (:wq).
sudo vi /etc/sysctl.d/k8s.conf
Aşağıdaki içeriği ekleyin:
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

Değişiklikler kaydedilir

sudo modprobe br_netfilter
sudo sysctl --system

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

sudo lsmod | grep br_netfilter
sudo reboot

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

Containerd Kurulumu (Sadece RHEL 8.9 kurulumunda)

sudo yum install -y --cacheonly --disablerepo=* required_rpms/*.rpm --skip-broken
#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

Kubernetes Kurulumu

apinizerOffline/kubernetes klasörüne gidilir ve rpm’ler çalıştırılır.
cd apinizerOffline/kubernetes
rpm -ivh --replacefiles --replacepkgs *.rpm
(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
systemctl enable kubelet && systemctl start kubelet
(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
(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
kubectl apply -f kube-flannel.yml

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>

MongoDB Kurulumu

sudo yum install -y --cacheonly --skip-broken --disablerepo=* <MONGODB_RPM_DIRECTORY>/*.rpm
rpm -ivh --replacefiles --replacepkgs <MONGODB_RPM_DIRECTORY>/*.rpm
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
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.