RHEL 8.x İşletim Sistemi Üzerine Offline Apinizer Kurulumu
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
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
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.