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======================================================= |
| 4 | .. Copyright (C) 2019 AT&T Intellectual Property |
| 5 | .. =================================================================================== |
| 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 |
| 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 | |
| 18 | .. contents:: |
| 19 | :depth: 3 |
| 20 | :local: |
| 21 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 22 | =================== |
| 23 | Installation Guides |
| 24 | =================== |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 25 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 26 | This document describes how to install the components deployed by scripts and Helm charts |
| 27 | under the it/dep repository, it's dependencies and required system resources. |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 28 | |
| 29 | .. contents:: |
| 30 | :depth: 3 |
| 31 | :local: |
| 32 | |
| 33 | Version history |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 34 | =============== |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 35 | |
| 36 | +--------------------+--------------------+--------------------+--------------------+ |
| 37 | | **Date** | **Ver.** | **Author** | **Comment** | |
| 38 | | | | | | |
| 39 | +--------------------+--------------------+--------------------+--------------------+ |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 40 | | 2019-11-25 | 0.1.0 |Lusheng Ji | First draft | |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 41 | | | | | | |
| 42 | +--------------------+--------------------+--------------------+--------------------+ |
| 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 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 48 | The installation of Amber Near Realtime RAN Intelligent Controller is spread onto two separate |
| 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 | |
| 58 | Within the RIC cluster, Kubernetes resources are deployed using three name spaces: ricinfra, ricplt, and ricxapp. Similarly, within the AUX cluster, Kubernetes resources are deployed using two name spaces: ricinfra, and ricaux. |
| 59 | |
| 60 | For each cluster, there is a Kong ingress controller that proxies incoming API calls into the cluster. |
| 61 | With Kong, service APIs provided by Kubernetes resources can be accessed at the cluster node IP and |
| 62 | port via a URL path. For cross-cluster communication, in addition to Kong, each Kubernetes namespace |
| 63 | has a special Kubernetes service defined with endpoint pointing to the other cluster's Kong. This |
| 64 | way any pod can access services exposed at the other cluster via the internal service hostname and port of |
| 65 | this special service. The figure below illustrates the details of how Kong and external services work |
| 66 | together to realize cross-cluster communication. |
| 67 | |
| 68 | .. image:: images/kong-extservice.png |
| 69 | :width: 600 |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 70 | |
| 71 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 72 | VirtualBox VMs as Installation Hosts |
| 73 | ======================================= |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 74 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 75 | The deployment of Amber Near Realtime RIC can be done on a wide range of hosts, including |
| 76 | bare metal servers, OpenStack VMs, and VirtualBox VMs. This section provides detailed instructions |
| 77 | for setting up Oracle VirtualBox VMs to be used as installation hosts. |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 78 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 79 | .. include:: ./installation-virtualbox.rst |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 80 | |
| 81 | |
| 82 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 83 | One-Node Kubernetes Cluster |
| 84 | ============================ |
| 85 | |
| 86 | This sectioin descriibes how to set up a one-node Kubernetes cluster onto a VM installation host. |
| 87 | |
| 88 | .. include:: ./installation-k8s1node.rst |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 89 | |
| 90 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 91 | Installing Near Realtime RIC in RIC Cluster |
| 92 | =========================================== |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 93 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 94 | After the Kubernetes cluster is installed, teh next step is to install the (Near Realtime) RIC Platform. |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 95 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 96 | .. include:: ./installation-ric.rst |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 97 | |
| 98 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 99 | Installing Auxiliary Functions in AUX Cluster |
| 100 | ============================================= |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 101 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 102 | .. include:: ./installation-aux.rst |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 103 | |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 104 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 105 | Installing RIC Applications |
| 106 | =========================================== |
| 107 | |
| 108 | .. include:: ./installation-xapps.rst |
| 109 | |
| 110 | |
wrider | bf0073e | 2019-11-03 14:35:07 -0500 | [diff] [blame] | 111 | |
| 112 | |