Skip to main content

Install Otomi on Minikube

ATTENTION

Otomi does NOT support ARM architecture and therefor can not be installed on Apple MacBook with Apple M1 chipset

NOTE

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.


Additional resources