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