How to
This page will guide you through the steps to deploying DishLMC
along with the simulators locally. It is assumed here that you have cloned the
ska-dish-lmc
repository, and have set up your development environment.
Deploy DishLMC with Simulators
Deploy ska-tango-operator to manage the pods and their configuration.
$ git clone git@gitlab.com:ska-telescope/ska-tango-operator.git
$ cd ska-tango-operator
$ make k8s-install-chart
Deploy ska-dish-lmc from the chart
$ cd ska-dish-lmc
$ GITLAB_CI=false make k8s-install-chart
Tip
Pull the docker images into your minikube cluster prior to make deployments faster
The deployment will constitute pods for:
Tango DB
DishManager
DSManager
Simulators: SPF, SPFRx & OPCUA server
All these pods have to be up in the ska-dish-lmc
namespace to have a
fully functional software to interact. The pod of particular interest will be
ds-dishmanager-001-0
. The device name which connects to the DishManager server is
mid-dish/dish-manager/SKA001
: this may change, and can be looked up in the deployment on
the deviceserver
namespace by inspecting the Config
value on the
dishmanager-001
pod (see the image below).
Manage your Deployment
A deployment constitutes a number of running pods, with each deployed pod exposing a running tango device. kubectl commands can be used to manage your deployment; however using k9s to manager your cluster deployment is very efficient and time saving. Having an additional (sandbox) pod to in the cluster to drive the control and monitoring is also essential.
There’s an example configuration file which can be used to deploy an additional pod in the cluster. To use it run the kubectl command below and itango from the pod’s shell.
$ kubectl apply -f sandbox.yaml
$ itango3
The sandbox pod can be killed using Ctrl + k
.
Note
Deploy DishLMC before running itango on the sandbox pod to avoid database connection errors
$ cd ska-dish-lmc
$ make k8s-uninstall-chart
$ cd ska-tango-operator
$ make k8s-uninstall-chart