Requirements

To run the SDP, you need to have Kubernetes and Helm installed.

Kubernetes

Local development using Minikube

There are a number of ways to install and run Kubernetes in your local development environment - but the one supported by the SKA is Minikube.

Minikube provides a way to run a single-node Kubernetes installation on Linux, macOS and Windows. It can use a number of different drivers to run Kubernetes in a virtual machine (VM) or container. The SKA have provided a repository which contains instructions, scripts and tests to help deploy minikube on Linux, macOS and Windows. Note that on Windows these instructions do not cover attempting to run Minikube natively. A virtualisation environment is, instead, used to run Linux in a window and, while there are several of these environments available, the one supported is the Microsoft supplied WSL2 subsystem which is best integrated into the Windows environment.

Once installed minikube can be started with the default configuration by running:

$ minikube start

If you need to increase the amount of memory that the Minikube VM uses, you can pass this as an option:

$ minikube start --memory='4096m'

Alternatively, you may configure this as a default by doing:

$ minikube config set memory 4096

If you are developing SDP components and you would like to build and test them in Minikube, you need to configure Docker to use the daemon inside the VM. This can be done by setting the environment variables:

$ minikube docker-env
$ eval $(minikube -p minikube docker-env)

Remote Kubernetes

Alternatively, it is possible to install and interact with an SDP Instance - in a similar manner to one running locally - on a Kubernetes cluster running remotely.

To do this, you will need to obtain the Cluster access credentials as a file on the local filesystem and to activate them as in this example:

$ export KUBECONFIG=~/dp-orca.yaml

If the credentials are valid, local commands (such as kubectl or helm) will now apply to the remote cluster.

As an example of a remote deployment of the SDP software, see the following description of a persistent deployment used for test purposes.

Helm

Helm is available from most typical package managers, see Introduction to Helm.

K9s

K9s is terminal-based UI for Kubernetes clusters which provides a convenient interactive interface. It is not required to run the SDP, but it is recommended for its ease of use.

Commands Help Guide

To find out more about the available commands, here are some useful links: