minikube - local Kubernetes development on IBM POWER
There are 2 well known Kubernetes distributions, which you can run on IBM POWER:
IBM Cloud Private
Red Hat OpenShift
But both of them are too heavy weight for small deployments, when you have just one server and would like to test or develop something small, e.g. a new function for OpenFaaS.
This blog describes, how you can install and use minikube on Linux on IBM POWER or any OpenPOWER system.
I use CentOS 7.7 as a host operating system. On CentOS you need to install docker and socat packages:
Docker which comes with CentOS is not the newest one. It may be that you will want to exchange it with the newer version, which is available on the site. But I used the standard CentOS version for the test.
Now we can download and install minikube. minikube is just one executable.
Now minikube is almost ready to start. We need one more Docker image local and make some settings before we make our first minikube cluster.
First Docker image for minikube storage provisioner:
Next we have to say minikube, that we don't have any VM driver and it is not allowed to create a new VM for the cluster:
The usual way to start minikube is just:
I have found, that on CentOS 7 you have to supply additional argument to start minikube:
It is because of the standard Docker settings on CentOS. YMMV.
It takes some time to start minikube. On my system it was ca. 2-3 minutes.
Now it is running. You can the status with minikube status:
kubectl is installed too. You can work with it as with normal Kubernetes cluster:
I am a big fan of command line interfaces, but sometimes it is more easier to use a web dashboard. Especially if you see some program for the first time in your life and like to understand what it can. minikube has a web dashboard, which must be enabled manually.
Again I start with the small hack with docker image:
Now it is time to enable the dashboard:
It takes some time again to start the dashboard, but not so long as to start the cluster. The status can be seen with the following kubectl command:
As far as all pods are in "Running" state we can proceed to the next step. The dashboard is now installed but it is available just inside the cluster. You can't access it from the outside. You must change the service definition for the dashboard.
Set the context to kubernetes-dashboard namespace:
Save the service definition to YAML file:
Open the YAML with your favourite vi editor and change one line in it:
Now apply the configuration back to the cluster:
Run minikube to find out the service port:
That's it! Happy hacking!