mrichomme | 950afce | 2020-06-04 11:57:18 +0200 | [diff] [blame] | 1 | .. _integration-installation: |
| 2 | |
mrichomme | e464389 | 2020-11-30 18:31:29 +0100 | [diff] [blame] | 3 | :orphan: |
| 4 | |
mrichomme | a958b98 | 2020-04-13 18:46:35 +0200 | [diff] [blame] | 5 | Integration Environment Installation |
mrichomme | 842d322 | 2019-10-09 14:02:17 +0200 | [diff] [blame] | 6 | ------------------------------------- |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 7 | |
mrichomme | 842d322 | 2019-10-09 14:02:17 +0200 | [diff] [blame] | 8 | ONAP is deployed on top of kubernetes through the OOM installer. |
| 9 | Kubernetes can be installed on bare metal or on different environments such as |
| 10 | OpenStack (private or public cloud), Azure, AWS,.. |
| 11 | |
| 12 | The integration team maintains a heat template to install ONAP on OpenStack. |
| 13 | This template creates the needed resources (VMs, networks, security groups, |
| 14 | ...) in order to support a HA Kubernetes then a full ONAP installation. |
| 15 | |
| 16 | Sample OpenStack RC (credential) files environment files or deployment scripts |
| 17 | are provided, they correspond to files used on windriver environment. |
| 18 | This environment is used by the integration team to validate the installation, |
| 19 | perform tests and troubleshoot. |
| 20 | |
mrichomme | a958b98 | 2020-04-13 18:46:35 +0200 | [diff] [blame] | 21 | If you intend to deploy your own environment, they can be used as reference but |
mrichomme | 842d322 | 2019-10-09 14:02:17 +0200 | [diff] [blame] | 22 | must be adapted according to your context. |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 23 | |
| 24 | Source files |
| 25 | ~~~~~~~~~~~~ |
| 26 | |
mrichomme | e464389 | 2020-11-30 18:31:29 +0100 | [diff] [blame] | 27 | - HEAT template files: https://git.onap.org/integration/tree/deployment/heat/onap-rke?h=guilin |
| 28 | - Sample OpenStack RC file: https://git.onap.org/integration/tree/deployment/heat/onap-rke/env/windriver/Integration-SB-00-openrc?h=guilin |
| 29 | - Sample environment file: https://git.onap.org/integration/tree/deployment/heat/onap-rke/env/windriver/onap-oom.env?h=guilin |
| 30 | - Deployment script: https://git.onap.org/integration/tree/deployment/heat/onap-rke/scripts/deploy.sh?h=guilin |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 31 | |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 32 | |
mrichomme | 842d322 | 2019-10-09 14:02:17 +0200 | [diff] [blame] | 33 | Heat Template Description |
| 34 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 35 | |
| 36 | The ONAP Integration Project provides a sample HEAT template that |
| 37 | fully automates the deployment of ONAP using OOM as described in |
mrichomme | 59305b4 | 2020-12-01 18:23:57 +0100 | [diff] [blame] | 38 | OOM documentation, see :ref:`OOM <onap-oom:oom_quickstart_guide>` for details. |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 39 | |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 40 | The ONAP OOM HEAT template deploys the entire ONAP platform. It spins |
| 41 | up an HA-enabled Kubernetes cluster, and deploys ONAP using OOM onto |
| 42 | this cluster. |
Gary Wu | cd47a01 | 2018-11-30 07:18:36 -0800 | [diff] [blame] | 43 | |
Gary Wu | 17797b4 | 2019-06-21 16:27:42 -0700 | [diff] [blame] | 44 | - 1 Shared NFS server (called Rancher VM for legacy reasons) |
| 45 | - 3 orch VMs for Kubernetes HA controller and etcd roles |
| 46 | - 12 k8s VMs for Kubernetes HA worker roles |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 47 | |
mrichomme | 842d322 | 2019-10-09 14:02:17 +0200 | [diff] [blame] | 48 | See OOM documentation for details. |
| 49 | |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 50 | |
| 51 | Quick Start |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 52 | ~~~~~~~~~~~ |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 53 | |
| 54 | Using the Wind River lab configuration as an example, here is what |
| 55 | you need to do to deploy ONAP: |
| 56 | |
| 57 | :: |
| 58 | |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 59 | git clone https://git.onap.org/integration |
Gary Wu | 17797b4 | 2019-06-21 16:27:42 -0700 | [diff] [blame] | 60 | cd integration/deployment/heat/onap-rke/ |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 61 | source ./env/windriver/Integration-SB-00-openrc |
| 62 | ./scripts/deploy.sh ./env/windriver/onap-oom.env |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 63 | |
| 64 | |
| 65 | Environment and RC files |
| 66 | ~~~~~~~~~~~~~~~~~~~~~~~~ |
| 67 | |
| 68 | Before deploying ONAP to your own environment, it is necessary to |
| 69 | customize the environment and RC files. You should make a copy of the |
| 70 | sample RC and environment files shown above and customize the values |
| 71 | for your specific OpenStack environments. |
| 72 | |
mrichomme | 842d322 | 2019-10-09 14:02:17 +0200 | [diff] [blame] | 73 | The environment file contains a block called integration_override_yaml. |
| 74 | |
| 75 | The content of this block will be used by OOM to overwrite some parts of its |
| 76 | installation parameters used in the helm charts. |
| 77 | |
| 78 | This file may deal with: |
| 79 | |
| 80 | * Cloud adaptation (use the defined flavors, available images) |
| 81 | * Proxies (apt, docker,..) |
| 82 | * Pre-defined resources for use cases (networks, tenant references) |
| 83 | * performance tuning (initialization timers) |
| 84 | |
| 85 | Performance tuning reflects the adaptation to the hardware at a given time. |
| 86 | The lab may evolve and the timers shall follow. |
| 87 | |
| 88 | Be sure to customize the necessary values within this block to match your |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 89 | OpenStack environment as well. |
| 90 | |
| 91 | **Notes on select parameters** |
| 92 | |
| 93 | :: |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 94 | |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 95 | apt_proxy: 10.12.5.2:8000 |
| 96 | docker_proxy: 10.12.5.2:5000 |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 97 | |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 98 | rancher_vm_flavor: m1.large |
| 99 | k8s_vm_flavor: m1.xlarge |
Gary Wu | 17797b4 | 2019-06-21 16:27:42 -0700 | [diff] [blame] | 100 | etcd_vm_flavor: m1.medium # not currently used |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 101 | orch_vm_flavor: m1.medium |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 102 | |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 103 | key_name: onap_key |
| 104 | |
| 105 | helm_deploy_delay: 2.5m |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 106 | |
| 107 | It is recommended that you set up an apt proxy and a docker proxy |
| 108 | local to your lab. If you do not wish to use such proxies, you can |
| 109 | set the apt_proxy and docker_proxy parameters to the empty string "". |
| 110 | |
| 111 | rancher_vm_flavor needs to have 8 GB of RAM. |
mrichomme | 842d322 | 2019-10-09 14:02:17 +0200 | [diff] [blame] | 112 | k8s_vm_flavor needs to have at least 16 GB of RAM. |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 113 | orch_vm_flavor needs to have 4 GB of RAM. |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 114 | By default the template assumes that you have already imported a |
| 115 | keypair named "onap_key" into your OpenStack environment. If the |
| 116 | desired keypair has a different name, change the key_name parameter. |
| 117 | |
| 118 | The helm_deploy_delay parameter introduces a delay in-between the |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 119 | deployments of each ONAP helm subchart to help alleviate system load or |
Gary Wu | 2985eb2 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 120 | contention issues caused by trying to spin up too many pods |
| 121 | simultaneously. The value of this parameter is passed to the Linux |
| 122 | "sleep" command. Adjust this parameter based on the performance and |
| 123 | load characteristics of your OpenStack environment. |
| 124 | |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 125 | |
| 126 | Exploring the Rancher VM |
| 127 | ~~~~~~~~~~~~~~~~~~~~~~~~ |
| 128 | |
| 129 | The Rancher VM that is spun up by this HEAT template serves the |
| 130 | following key roles: |
mrichomme | efb859d | 2020-03-19 19:02:41 +0100 | [diff] [blame] | 131 | - Hosts the /dockerdata-nfs/ NFS export shared by all the k8s VMs for persistent volumes |
Gary Wu | f6118ca | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 132 | - git clones the oom repo into /root/oom |
| 133 | - git clones the integration repo into /root/integration |
| 134 | - Creates the helm override file at /root/integration-override.yaml |
| 135 | - Deploys ONAP using helm and OOM |