dc49e5445bf37251651313b59962819988771f5f
[oom.git] / kubernetes / README.md
1 ## **Quick Start Guide - ONAP on Kubernetes**
2
3
4 This is a quick start guide to help you get started on ONAP installation. Creating an ONAP deployment instance requires creating base configuration on the host node and then deploying the runtime containers.
5
6 Pre-requisites:
7
8 -  Your Kubernetes environment must be available. For more information see, [ONAP on Kubernetes](https://wiki.onap.org/display/DW/ONAP+on+Kubernetes).
9 -  Deployment artifacts are customized for your location.
10
11 Step 1
12
13 Review and optionally change configuration parameters:
14
15 Setup the [/oom/kubernetes/config/onap-parameters.yaml](https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/onap-parameters.yaml;h=7ddaf4d4c3dccf2fad515265f0da9c31ec0e64b1;hb=refs/heads/master) file with key-value pairs specific to your OpenStack environment.
16
17 OR
18
19 There is a [sample](https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/onap-parameters-sample.yaml;h=3a74beddbbf7f9f9ec8e5a6abaecb7cb238bd519;hb=refs/heads/master) that may help you out or even be usable directly if you don't intend to actually use OpenStack resources.
20
21
22 Step 2
23
24 In-order to be able to support multiple ONAP instances within a single kubernetes environment, a configuration set is required. To do this, execute the [createConfig.sh](https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/createConfig.sh;h=f226ccae47ca6de15c1da49be4b8b6de974895ed;hb=refs/heads/master) script:
25
26 > oom/kubernetes/config/createConfig.sh -n onap
27
28 Where:
29 'onap' refers to the name of the instance. This serves as the Namespace prefix for each deployed ONAP component (for example, onap-mso).
30
31 Step 3
32
33 The bash script [createAll.bash](https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/oneclick/createAll.bash;h=5e5f2dc76ea7739452e757282e750638b4e3e1de;hb=refs/heads/master) is used to create an ONAP deployment with kubernetes. It has two primary functions:
34
35 -  Creating the namespaces used to encapsulate the ONAP components, and
36 -  Creating the services, pods and containers within each of these namespaces that provide the core functionality of ONAP.
37
38 Before you execute the createAll.bash. script, pod config-init ([pod-config-init.yaml](https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/pod-config-init.yaml;h=b1285ce21d61815c082f6d6aa3c43d00561811c7;hb=refs/heads/master)) may need editing to match your environment and deployment into the default namespace.
39
40 To deploy the containers and create your ONAP system, execute the following command:
41
42 > oom/kubernetes/oneclick/createAll.bash -n onap
43
44 #### **Additional information on usage of createAll.bash**
45
46 Namespaces provide isolation between ONAP components as ONAP release 1.0 contains duplicate application (for example, mariadb) and port usage.
47
48 As such createAll.bash requires the user to enter a namespace prefix string that can be used to separate multiple deployments of onap. The result will be set of 10 namespaces (for example, onap-sdc, onap-aai, onap-mso, onap-message-router, onap-robot, onap-vid, onap-sdnc, onap-portal, onap-policy, onap-appc) being created within the kubernetes environment.
49
50
51 #### **Deploying multiple ONAP instances within the same Kubernetes cluster**
52
53 To deploy multiple ONAP instances, you must specify the number of Instances you would like to create in a Kubernetes cluster using createAllbash.
54
55 This is currently required due to the use of NodePort ranges. NodePorts allow external IP:Port access to containers that are running inside a Kubernetes cluster.
56
57 To create multiple instances of an ONAP deployment in the cluster, use the following commands:
58
59 > oom/kubernetes/config/createConfig.sh -n onap
60
61 > oom/kubernetes/oneclick/createAll.bash -n onap -i 2
62
63 Where:
64
65 -  'onap' refers to the name of the instance.
66
67 -  \91i 2\92 refers to the number of instances of an ONAP deployment in the cluster.
68
69 #### **To delete a deployed instance**
70
71 To delete a deployed instance, use the following command:
72
73 > oom/kubernetes/oneclick/deleteAll.bash -n onap
74
75 **Note:** Deleting the runtime containers does not remove the configuration created in step 2.
76
77 For more information on OOM project documentation, refer to:
78
79  -  [Quick Start Guide on Wiki](https://wiki.onap.org/display/DW/ONAP+Operations+Manager+Project#ONAPOperationsManagerProject-QuickStartGuide)
80  -  [Quick Start Guide on readthedocs](http://onap.readthedocs.io/en/latest/submodules/oom.git/docs/OOM%20Project%20Description/oom_project_description.html#quick-start-guide)