This document explains the installation of Kubernetes version 1.31.7 (on Ubuntu 24.0x OS) and Apinizer on a server running the Ubuntu 22 and 24 operating systems.


File to Download

Please contact us for the download link of latest version of Apinizer at support@apinizer.com mail address.

Kubernetes, Mongodb and Elasticsearch installation files for Ubuntu 24.x:
https://fss.apinizer.com/index.php/s/8HbiSgKZsDO0akg

Kubernetes, Mongodb and Elasticsearch installation files for Ubuntu 22.x:
https://fss.apinizer.com/index.php/s/C75rOwbN2bTOqgs
POWERSHELL

The instructions in the next steps are also available in the relevant files and they are also clearly shared here for servers that may have limited access to the internet.

The command "tar xvzf fileName.tar" or "tar xf fileName.tar" can be used to extract the files.

Create Apinizer user

adduser apinizer
usermod -aG wheel apinizer
passwd apinizer
POWERSHELL

Stop and disable the Firewall

sudo systemctl stop ufw
sudo systemctl disable ufw
POWERSHELL

Disable the Selinux

sudo swapoff -a
sudo vi /etc/fstab
# Comment the swap line with "#" character and then exit by saving with entering the prompt ":wq"
POWERSHELL

1) Installing Containerd Packages

sudo dpkg -i containerd_deb/*.deb
POWERSHELL


#containerd 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 the containerd module 
sudo systemctl restart containerd
sudo systemctl enable containerd
sudo systemctl status containerd
POWERSHELL

2) Installing Kubernetes Packages

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

sudo modprobe overlay
sudo modprobe br_netfilter
POWERSHELL
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
sudo dpkg -i kube_deb/*.deb
POWERSHELL
systemctl enable --now kubelet.service
 
#Kubernetes installation control
kubectl version --client && kubeadm version 
POWERSHELL


3) Installing Kubernetes Images

sudo ctr --namespace k8s.io images import kube_images/kube-apiserver:v1.31.7.tar
sudo ctr --namespace k8s.io images import kube_images/kube-controller-manager:v1.31.7.tar
sudo ctr --namespace k8s.io images import kube_images/kube-scheduler:v1.31.7.tar
sudo ctr --namespace k8s.io images import kube_images/kube-proxy:v1.31.7.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.8.6.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


4) Kubeadm Init

sudo kubeadm init --pod-network-cidr="10.244.0.0/16" --control-plane-endpoint="<MASTER_SERVER_IP_ADDRESS>" --upload-certs --kubernetes-version=v1.31.7
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


To include a worker node in the cluster:

You can get the cluster inclusion command as output by running the following command on the master node and run it on the worker nodes.

kubeadm token create --print-join-command
POWERSHELL


5) Creating a Flannel

kubectl apply -f flannel_yaml/kube-flannel.yml
POWERSHELL

6) Installing Apinizer Images

sudo tar xvf apinizerImages.tar
 
cd apinizerImages
POWERSHELL
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

7) Installing MongoDB

sudo dpkg -i mongo_deb/*.deb
POWERSHELL

After the installation, the MongoDB configurations are the same as those in the document Installation of MongoDB on Ubuntu OS.

8) Elasticsearch Installation

sudo mkdir /opt/elasticsearch

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

After moving the installation file to the /opt/elasticsearch/ directory, follow all the steps in the Installation of Elasticsearch on Ubuntu OS page.


9) Apinizer Installation

Perform the Apinizer installation through the Apinizer Installation and Configuration page.