Install Otomi on Minikube
Otomi does NOT support ARM architecture and therefor can not be installed on Apple MacBook with Apple M1 chipset
The installation examples below install Otomi without DNS.
Prerequisites
- minikube (Mac/Windows/Linux)
- Linux only: kvm2 or Docker - detailed setup depends on Linux distribution
Configure Minikube cluster
NOTE: Windows users, open PowerShell as Administrator to execute the commands
NOTE: Enable calico if you want to check network policies
For Windows
minikube start --memory=8192 --cpus=8 --driver=hyperv --kubernetes-version=v1.26.9 --cni calico
For Mac
minikube start --memory=8192 --cpus=8 --driver=hyperkit --kubernetes-version=v1.26.9 --cni calico
For Linux, using the KVM2 driver
minikube start --memory=8192 --cpus=8 --driver=kvm2 --kubernetes-version=v1.26.9 --cni calico
Enable Metallb (Network Load Balancer)
Non Interactive way:
Copy and paste the following script into your terminal.
minikube addons enable metallb
MINIKUBE_IP=$(minikube ip);START_IP=101;END_IP=121
expect << _EOF_
spawn minikube addons configure metallb
expect "Enter Load Balancer Start IP:" { send "${MINIKUBE_IP%.*}.$START_IP\\r" }
expect "Enter Load Balancer End IP:" { send "${MINIKUBE_IP%.*}.$END_IP\\r" }
expect eof
_EOF_
If the above script fails, follow the steps described below in order to manually enable and configure Metallb addon, otherwise you can skip to the Install Otomi using helm Part
Manual Steps:
Expand...
1.Manually Enable and Configure Metallb
minikube addons enable metallb
2.Get the IP
minikube ip
Terminal Output
192.168.49.2
Please note that IP might and will probably be different in your system
3.Configure metallb
minikube addons configure metallb
Terminal Output
-- Enter Load Balancer Start IP: 192.168.49.101
-- Enter Load Balancer END IP: 192.168.49.121
Define the load balancer's IP address range using the above example replacing the IP address which is acquired in Step 3. Note First 3 segments of the IP should be same as the minikube IP Network address while the last segment may be customized.
Install Otomi using helm
Add the Otomi repo
helm repo add otomi https://otomi.io/otomi-core
helm repo update
Otomi install with minimal chart values
helm install otomi otomi/otomi --set cluster.name=minikube --set cluster.provider=custom --set apps.host-mods.enabled=false --set apps.metrics-server.extraArgs.kubelet-insecure-tls=true --set apps.metrics-server.extraArgs.kubelet-preferred-address-types=InternalIP
The helm chart deploys an installer job responsible for installing the Otomi platform on the minikube cluster.
Monitor the job status
kubectl get job otomi -w
Installer job logs
kubectl logs jobs/otomi -n default -f
At the end of the logs of the installer job, you will find the URL
and the credentials
to log into the Otomi console.
Now follow the activation instructions here.