Creating and Preparing Test Kubernetes Clusters
KAOPS runs in Kubernetes, so you need at least one Kubernetes cluster. These clusters are easy and free to create. Just follow this guide.
Online guidance for creating clusters
You can create a cluster right on your laptop or any other local or cloud server or VM that you have access to. It works on Linux, Windows and MAC operating systems. You just need an extra 2 cores, 4GB of RAM, and about 20GB of storage. See these websites for guidance
Minikube K8s Cluster running on Ubuntu 24.04
Below are detailed instructions for creating a minikube cluster on Ubuntu Linux 24.04
Create a Minikube on Ubuntu 24.04
- install docker
sudo apt update
sudo apt install -y docker.io
sudo usermod -aG docker ${USER}
source ~/.profile
docker version
- install minikube and dependencies
#conntrack
sudo apt update
sudo apt install -y curl wget apt-transport-https conntrack
#crictl
VERSION="v1.26.0" # check latest version in /releases page
curl -L https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-${VERSION}-linux-amd64.tar.gz --output crictl-${VERSION}-linux-amd64.tar.gz
sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin
rm -f crictl-$VERSION-linux-amd64.tar.gz
#cri-dockerd
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.14/cri-dockerd_0.3.14.3-0.ubuntu-focal_amd64.deb
apt install -y ./cri-dockerd_0.3.14.3-0.ubuntu-focal_amd64.deb
#cni-plugins
wget https://github.com/containernetworking/plugins/releases/download/v1.5.1/cni-plugins-linux-amd64-v1.5.1.tgz
sudo mkdir ./cni-plugins && sudo mkdir -p /opt/cni/bin && sudo tar -xvf cni-plugins-linux-amd64-v1.5.1.tgz -C /opt/cni/bin
#minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
#verify minikube install
minikube version
- install kubectl and dependencies
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
kubectl version
- create a minikube
4a. for Hub clusters
NOTE: easy to route to the k8s api, becuase the minikube IP address is the same as the host IP address
sudo su
sudo sysctl fs.protected_regular=0
minikube start --driver=none
4b. for Edge clusters
NOTE: where IP address and network does not matter
#create a minikube (for Edge clusters)
minikube start --driver=docker
4c. check whether minikube is running
minikube profile list
#minikube status -p=clustername