Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

It explains how to deploy SONA using Kubernetes and Helm Chart. 

Note

Please note that it is tested with ONOS 1.13.x, and it is NOT tested with 1.14.x version, where ONOS has been separated from Atomix.

SONA helm chart for ONOS 1.14.x will be also available soon.


Prerequisite

Install Kubernetes

There are many ways to install kubernetes. But, I recommend to use kubespary.

https://github.com/kubernetes-incubator/kubespray

Install Helm

Please refer to https://docs.helm.sh/using_helm/#installing-helm to install helm


Configuring Kubernetes environment

SONA is exposed as a service to OpenStack, and SONA itself also uses a service for cluster manager. Therefore, we need to configuration Kubernetes environment to resolve the service.

...

Now we can use kubernetes service not only in the container also in kubernetes nodes

Deploy SONA

Download SONA-helm codes from https://github.com/sonaproject/sona-helm

Code Block
$ git clone https://github.com/sonaproject/sona-helm.git

For single Kubernetes cluster

Code Block
$ helm upgrade onos-sona sona-helm/ -i

For multi-node kubernetes cluster

Code Block
$ helm upgrade onos-sona sona-helm/ -i --set onos.hostNetwork=true

...

Note

ONOS has an issue when it is installed as a container in a multi-node Kubernetes environment. So, I strongly recommend using hostNetwork = true

Another deployment example to set deployment node to specific nodes using node label

Code Block
$ helm upgrade onos sona-helm/ -i --set onos.node_selector.key=openstack-control-plane --set onos.node_selector.value=enabled --set onos.image.tag=stable


How to check 

Check the helm deployment status using ls command.

...