| Deploy a virtual VOLTHA POD |
| =========================== |
| |
| A guide to install a virtual POD. This is generally used to gain familiarity with the |
| environment or to do development. |
| |
| Quickstart |
| ---------- |
| |
| Requires: |
| |
| - ``docker`` and ``go`` installed on your machine |
| - `kind-voltha <https://github.com/ciena/kind-voltha>`_ cloned on your machine |
| |
| .. code:: bash |
| |
| TYPE=minimal WITH_RADIUS=y CONFIG_SADIS=y ONLY_ONE=y WITH_BBSIM=y ./voltha up |
| |
| TLDR; |
| ----- |
| |
| Below are the complete steps to install a physical cluster. |
| Most of the steps are the same as :ref:`deploy_physical`. |
| |
| Create Kubernetes Cluster |
| ------------------------- |
| |
| Kind provides a command line control tool to easily create Kubernetes |
| clusters using just a basic Docker environment. The following commands |
| will create the desired deployment of Kubernetes and then configure your |
| local copy of ``kubectl`` to connect to this cluster. |
| |
| .. code:: bash |
| |
| kind create cluster --name=voltha-$TYPE --config $TYPE-cluster.cfg |
| export KUBECONFIG="$(kind get kubeconfig-path --name="voltha-$TYPE")" |
| kubectl cluster-info |
| |
| Initialize Helm |
| --------------- |
| |
| Helm provide a capability to install and manage Kubernetes applications. |
| VOLTHA’s default deployment mechanism utilized Helm. Before Helm can be |
| used to deploy VOLTHA it must be initialized and the repositories that |
| container the artifacts required to deploy VOLTHA must be added to Helm. |
| |
| .. code:: bash |
| |
| # Initialize Helm and add the required chart repositories |
| helm init |
| helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com |
| helm repo add stable https://kubernetes-charts.storage.googleapis.com |
| helm repo add onf https://charts.opencord.org |
| helm repo update |
| |
| # Create and k8s service account so that Helm can create pods |
| kubectl create serviceaccount --namespace kube-system tiller |
| kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller |
| kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}' |
| |
| From this point follow the :ref:`physical VOLTHA POD installation instructions |
| <installation_steps>`. Come back here once done. |
| |
| Install BBSIM (Broad Band OLT/ONU Simulator) |
| -------------------------------------------- |
| |
| BBSIM provides a simulation of a BB device. It can be useful for |
| testing. |
| |
| .. code:: bash |
| |
| helm install -f minimal-values.yaml --namespace voltha --name bbsim onf/bbsim |
| |
| Create BBSIM Device |
| ^^^^^^^^^^^^^^^^^^^ |
| |
| .. code:: bash |
| |
| voltctl device create -t openolt -H $(kubectl get -n voltha service/bbsim -o go-template='{{.spec.clusterIP}}'):50060 |
| |
| Enable BBSIM Device |
| ^^^^^^^^^^^^^^^^^^^ |
| |
| .. code:: bash |
| |
| voltctl device enable $(voltctl device list --filter Type~openolt -q) |