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: