.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright 2018 Amdocs, Bell Canada
+.. _oom_user_guide:
.. Links
.. _Curated applications for Kubernetes: https://github.com/kubernetes/charts
Pre-requisites
--------------
-Your environment must have both the Kubernetes `kubectl` and Helm setup as a one time activity.
+Your environment must have both the Kubernetes `kubectl` and Helm setup as a
+one time activity.
Install Kubectl
~~~~~~~~~~~~~~~
-Enter the following to install kubectl (on Ubuntu, there are slight differences on other O/Ss), the Kubernetes command line interface used to manage a Kubernetes cluster::
+Enter the following to install kubectl (on Ubuntu, there are slight differences
+on other O/Ss), the Kubernetes command line interface used to manage a
+Kubernetes cluster::
> curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.8.10/bin/linux/amd64/kubectl
> chmod +x ./kubectl
> sudo mv ./kubectl /usr/local/bin/kubectl
> mkdir ~/.kube
-Paste kubectl config from Rancher (see the :ref:`cloud-setup-guide-label` for alternative Kubernetes environment setups) into the `~/.kube/config` file.
+Paste kubectl config from Rancher (see the :ref:`cloud-setup-guide-label` for
+alternative Kubernetes environment setups) into the `~/.kube/config` file.
Verify that the Kubernetes config is correct::
Install Helm
~~~~~~~~~~~~
-Helm is used by OOM for package and configuration management. To install Helm, enter the following::
+Helm is used by OOM for package and configuration management. To install Helm,
+enter the following::
> wget http://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz
> tar -zxvf helm-v2.9.1-linux-amd64.tar.gz
Install the Helm Repo
---------------------
-Once kubectl and Helm are setup, one needs to setup a local Helm server to server up the ONAP charts::
+Once kubectl and Helm are setup, one needs to setup a local Helm server to
+server up the ONAP charts::
> helm install osn/onap
To prepare your system for an installation of ONAP, you'll need to::
- > git clone -b casablanca http://gerrit.onap.org/r/oom
+ > git clone -b frankfurt --recurse-submodules -j2 http://gerrit.onap.org/r/oom
> cd oom/kubernetes
> helm init
> helm serve &
-Note the port number that is listed and use it in the Helm repo add as follows::
+Note the port number that is listed and use it in the Helm repo add as
+follows::
> helm repo add local http://127.0.0.1:8879
In any case, setup of the Helm repository is a one time activity.
-Once the repo is setup, installation of ONAP can be done with a single command::
+Next, install Helm Plugins required to deploy the ONAP Casablanca release::
- > helm install local/onap --name development
+ > cp -R helm/plugins/ ~/.helm
+
+Once the repo is setup, installation of ONAP can be done with a single
+command::
+
+ > helm deploy development local/onap --namespace onap
This will install ONAP from a local repository in a 'development' Helm release.
As described below, to override the default configuration values provided by
OOM, an environment file can be provided on the command line as follows::
- > helm install local/onap --name development -f onap-development.yaml
+ > helm deploy development local/onap --namespace onap -f overrides.yaml
To get a summary of the status of all of the pods (containers) running in your
deployment::
To install a specific version of a single ONAP component (`so` in this example)
-with the given name enter::
+with the given release name enter::
- > helm install onap/so --version 2.0.1 -n so
+ > helm deploy so onap/so --version 3.0.1
To display details of a specific resource or group of resources type::
The top level onap/values.yaml file contains the values required to be set
before deploying ONAP. Here is the contents of this file:
-.. include:: onap_values.yaml
+.. include:: ../kubernetes/onap/values.yaml
:code: yaml
One may wish to create a value file that is specific to a given deployment such
To deploy ONAP with this environment file, enter::
- > helm deploy local/onap -n casablanca -f environments/onap-production.yaml
+ > helm deploy local/onap -n onap -f environments/onap-production.yaml
.. include:: environments_onap_demo.yaml
:code: yaml
user's own environment (a laptop etc.) the portal application's port 8989 is
exposed through a `Kubernetes LoadBalancer`_ object.
-Typically, to be able to access the Kubernetes nodes publicly a public address is
-assigned. In Openstack this is a floating IP address.
+Typically, to be able to access the Kubernetes nodes publicly a public address
+is assigned. In Openstack this is a floating IP address.
When the `portal-app` chart is deployed a Kubernetes service is created that
instantiates a load balancer. The LB chooses the private interface of one of
10.12.6.155 msb.api.simpledemo.onap.org
10.12.6.155 clamp.api.simpledemo.onap.org
10.12.6.155 so.api.simpledemo.onap.org
+ 10.12.6.155 sdc.workflow.plugin.simpledemo.onap.org
Ensure you've disabled any proxy settings the browser you are using to access
the portal and then simply access now the new ssl-encrypted URL:
of the page
.. note::
- Besides the ONAP Portal the Components can deliver additional user interfaces,
+ Besides the ONAP Portal the Components can deliver additional user interfaces,
please check the Component specific documentation.
-.. note::
+.. note::
| Alternatives Considered:
- a set of liveness probes which feed into the Kubernetes manager which
are described in the Heal section.
-Within ONAP, Consul is the monitoring system of choice and deployed by OOM in two parts:
+Within ONAP, Consul is the monitoring system of choice and deployed by OOM in
+two parts:
- a three-way, centralized Consul server cluster is deployed as a highly
available monitor of all of the ONAP components, and
For example, to upgrade a container by changing configuration, specifically an
environment value::
- > helm deploy casablanca onap/so --version 2.0.1 --set enableDebug=true
+ > helm deploy onap onap/so --version 2.0.1 --set enableDebug=true
Issuing this command will result in the appropriate container being stopped by
Kubernetes and replaced with a new container with the new environment value.
To upgrade a component to a new version with a new configuration file enter::
- > helm deploy casablanca onap/so --version 2.0.2 -f environments/demo.yaml
+ > helm deploy onbap onap/so --version 2.0.2 -f environments/demo.yaml
To fetch release history enter::
what will happen with a given command prior to actually deleting anything. For
example::
- > helm undeploy casablanca --dry-run
+ > helm undeploy onap --dry-run
-will display the outcome of deleting the 'casablanca' release from the deployment.
+will display the outcome of deleting the 'onap' release from the
+deployment.
To completely delete a release and remove it from the internal store enter::
- > helm undeploy casablanca --purge
+ > helm undeploy onap --purge
One can also remove individual components from a deployment by changing the
ONAP configuration values. For example, to remove `so` from a running
deployment enter::
- > helm undeploy casablanca-so --purge
+ > helm undeploy onap-so --purge
will remove `so` as the configuration indicates it's no longer part of the
deployment. This might be useful if a one wanted to replace just `so` by
-installing a custom version.
+installing a custom version.