Installing and developing in Minikube
Warning
Instructions on this page are not tested on every platform and every operating system. We provide these to help with set up where possible, but we are not responsible for a proper Minikube set up. Please refer to official documentation if the help below doesn’t work for you.
If you do not have access to a remote cluster, you might want to consider using Minikube for working with the SDP. Note, that you may run into resource problems, especially if you deploy the SDP with all of its components, if you do not have a powerful enough machine, or enough CPU/memory allocated to Minikube before you install the SDP.
We recommend installing Minikube using the official installation guide. You may also follow the SKA Minikube documentation for instructions, which will setup a Minikube cluster that resembles a standard SKA cluster, however, note that this will install elements that are important for the full SKA system, but the SDP alone will not require.
In this page, we only mention a few, SDP-specific details and pointers to help setting things up, but we do not provide a How-To for Minikube. In general, what is described in Installing the SDP is how you would want to install the SDP in Minikube as well, unless clearly marked otherwise.
By default, the SDP Helm chart uses the Tango
operator to deploy the LMC components. The operator is not available
in a Minikube cluster, so the use of the operator must be disabled by setting
global.operator to false.
Building OCI images
If you are developing SDP components and you would like to build and test them in Minikube, you need to configure the docker command to use the daemon inside the Virtual Machine. This can be done by running the following command:
$ eval $(minikube docker-env)
Accessing the QA Display
Depending on what driver you use for Minikube, there are multiple things that you may need to do to expose an ingress to a pod.
You will always need to enable ingress:
$ minikube addons enable ingress
In the simplest case, you can use the IP of Minikube from then on to access the websites. Obtain the IP of Minikube:
$ minikube ip
Access the Display in a path such as:
http://<ip from above command>/<namespace>/qa/display/
Replace the IP and namespace accordingly.
If you still can’t see the page, you may need to set up tunnelling to forward all connections to localhost. This will need to keep running, so do it in a terminal window that you won’t be using/closing:
$ minikube tunnel
Access the Display in a path such as:
http://127.0.0.1/<namespace>/qa/display/
Update the namespace value accordingly.
Running the integration tests
Follow ingress/tunneling set up above under
“Accessing the QA Display” section, then
set the TEST_INGRESS environment variable to:
without tunneling:
$ export TEST_INGRESS=http://$(minikube ip)
with tunneling:
$ export TEST_INGRESS=http://127.0.0.1
minikube tunnel will forward all networking
to localhost, that is why TEST_INGRESS has to be set to that.