wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| 2 | .. SPDX-License-Identifier: CC-BY-4.0 |
| 3 | .. ===============LICENSE_START======================================================= |
Lott, Christopher (cl778h) | c22d1ce | 2020-01-20 13:53:43 -0500 | [diff] [blame] | 4 | .. Copyright (C) 2019-2020 AT&T Intellectual Property |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 5 | .. =================================================================================== |
Lott, Christopher (cl778h) | c22d1ce | 2020-01-20 13:53:43 -0500 | [diff] [blame] | 6 | .. This documentation file is distributed under the Creative Commons Attribution |
| 7 | .. 4.0 International License (the "License"); you may not use this file except in |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 8 | .. compliance with the License. You may obtain a copy of the License at |
| 9 | .. |
| 10 | .. http://creativecommons.org/licenses/by/4.0 |
| 11 | .. |
| 12 | .. This file is distributed on an "AS IS" BASIS, |
| 13 | .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | .. See the License for the specific language governing permissions and |
| 15 | .. limitations under the License. |
| 16 | .. ===============LICENSE_END========================================================= |
| 17 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 18 | =================== |
| 19 | Installation Guides |
| 20 | =================== |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 21 | |
Lott, Christopher (cl778h) | c22d1ce | 2020-01-20 13:53:43 -0500 | [diff] [blame] | 22 | This document describes how to install the RIC components deployed by scripts and Helm charts |
| 23 | under the it/dep repository, including the dependencies and required system resources. |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 24 | |
| 25 | .. contents:: |
| 26 | :depth: 3 |
| 27 | :local: |
| 28 | |
| 29 | Version history |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 30 | =============== |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 31 | |
| 32 | +--------------------+--------------------+--------------------+--------------------+ |
| 33 | | **Date** | **Ver.** | **Author** | **Comment** | |
| 34 | | | | | | |
| 35 | +--------------------+--------------------+--------------------+--------------------+ |
Zhe Huang | dc00cdf | 2020-02-10 13:45:15 -0500 | [diff] [blame] | 36 | | 2019-11-25 | 0.1.0 |Lusheng Ji | Amber | |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 37 | | | | | | |
| 38 | +--------------------+--------------------+--------------------+--------------------+ |
Zhe Huang | dc00cdf | 2020-02-10 13:45:15 -0500 | [diff] [blame] | 39 | | 2020-01-23 | 0.2.0 |Zhe Huang | Bronze RC | |
| 40 | | | | | | |
| 41 | +--------------------+--------------------+--------------------+--------------------+ |
| 42 | |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 43 | |
| 44 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 45 | Overview |
| 46 | ======== |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 47 | |
Zhe Huang | dc00cdf | 2020-02-10 13:45:15 -0500 | [diff] [blame] | 48 | The installation of Near Realtime RAN Intelligent Controller is spread onto two separate |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 49 | Kubernetes clusters. The first cluster is used for deploying the Near Realtime RIC (platform and |
| 50 | applications), and the other is for deploying other auxiliary functions. They are referred to as |
| 51 | RIC cluster and AUX cluster respectively. |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 52 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 53 | The following diagram depicts the installation architecture. |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 54 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 55 | .. image:: images/nrtric-amber.png |
| 56 | :width: 600 |
| 57 | |
Lott, Christopher (cl778h) | cb20033 | 2020-01-20 15:56:57 -0500 | [diff] [blame] | 58 | Within the RIC cluster, Kubernetes resources are deployed using three name spaces: ricinfra, ricplt, |
Zhe Huang | dc00cdf | 2020-02-10 13:45:15 -0500 | [diff] [blame] | 59 | and ricxapp by default. Similarly, within the AUX cluster, Kubernetes resources are deployed using two name spaces: |
Lott, Christopher (cl778h) | cb20033 | 2020-01-20 15:56:57 -0500 | [diff] [blame] | 60 | ricinfra, and ricaux. |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 61 | |
| 62 | For each cluster, there is a Kong ingress controller that proxies incoming API calls into the cluster. |
Lott, Christopher (cl778h) | c22d1ce | 2020-01-20 13:53:43 -0500 | [diff] [blame] | 63 | With Kong, service APIs provided by Kubernetes resources can be accessed at the cluster node IP and |
| 64 | port via a URL path. For cross-cluster communication, in addition to Kong, each Kubernetes namespace |
| 65 | has a special Kubernetes service defined with an endpoint pointing to the other cluster's Kong. This |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 66 | way any pod can access services exposed at the other cluster via the internal service hostname and port of |
| 67 | this special service. The figure below illustrates the details of how Kong and external services work |
| 68 | together to realize cross-cluster communication. |
| 69 | |
| 70 | .. image:: images/kong-extservice.png |
| 71 | :width: 600 |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 72 | |
| 73 | |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 74 | |
Zhe Huang | dc00cdf | 2020-02-10 13:45:15 -0500 | [diff] [blame] | 75 | Prerequisites |
| 76 | ============= |
| 77 | |
| 78 | Both RIC and AUX clusters need to fulfill the following prerequisites. |
| 79 | |
| 80 | - Kubernetes v.1.16.0 or above |
| 81 | - helm v2.12.3 or above |
| 82 | - Read-write access to directory /mnt |
| 83 | |
| 84 | The following two sections show two example methods to create an environment for installing RIC. |
| 85 | |
| 86 | VirtualBox VMs as Installation Hosts |
| 87 | ------------------------------------ |
| 88 | |
| 89 | The deployment of Near Realtime RIC can be done on a wide range of hosts, including |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 90 | bare metal servers, OpenStack VMs, and VirtualBox VMs. This section provides detailed instructions |
| 91 | for setting up Oracle VirtualBox VMs to be used as installation hosts. |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 92 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 93 | .. include:: ./installation-virtualbox.rst |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 94 | |
| 95 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 96 | One-Node Kubernetes Cluster |
Zhe Huang | dc00cdf | 2020-02-10 13:45:15 -0500 | [diff] [blame] | 97 | --------------------------- |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 98 | |
Lott, Christopher (cl778h) | c22d1ce | 2020-01-20 13:53:43 -0500 | [diff] [blame] | 99 | This section describes how to set up a one-node Kubernetes cluster onto a VM installation host. |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 100 | |
| 101 | .. include:: ./installation-k8s1node.rst |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 102 | |
| 103 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 104 | Installing Near Realtime RIC in RIC Cluster |
| 105 | =========================================== |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 106 | |
Lott, Christopher (cl778h) | c22d1ce | 2020-01-20 13:53:43 -0500 | [diff] [blame] | 107 | After the Kubernetes cluster is installed, the next step is to install the (Near Realtime) RIC Platform. |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 108 | |
Lott, Christopher (cl778h) | c22d1ce | 2020-01-20 13:53:43 -0500 | [diff] [blame] | 109 | .. include:: ./installation-ric.rst |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 110 | |
| 111 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 112 | Installing Auxiliary Functions in AUX Cluster |
| 113 | ============================================= |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 114 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 115 | .. include:: ./installation-aux.rst |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 116 | |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 117 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 118 | Installing RIC Applications |
Lott, Christopher (cl778h) | c22d1ce | 2020-01-20 13:53:43 -0500 | [diff] [blame] | 119 | =========================== |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 120 | |
| 121 | .. include:: ./installation-xapps.rst |
| 122 | |