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

  1. 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
  1. 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).

../_images/dev_name_k9s.png

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