wrider | c1be425 | 2019-11-26 10:13:54 -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 |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 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 |
Zhe | 8326b64 | 2020-12-11 22:31:17 -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 | c1be425 | 2019-11-26 10:13:54 -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. |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 16 | .. ---------------LICENSE_END--------------------------------------------------------- |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 17 | |
| 18 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 19 | Installing Near-realtime RIC |
| 20 | ============================ |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 21 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 22 | The installation of Near Realtime RAN Intelligent Controller is spread onto two separate |
| 23 | Kubernetes clusters. The first cluster is used for deploying the Near Realtime RIC (platform and |
| 24 | applications), and the other is for deploying other auxiliary functions. They are referred to as |
| 25 | RIC cluster and AUX cluster respectively. |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 26 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 27 | The following diagram depicts the installation architecture. |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 28 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 29 | .. image:: images/nrtric-amber.png |
| 30 | :width: 600 |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 31 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 32 | Within the RIC cluster, Kubernetes resources are deployed using three name spaces: ricinfra, ricplt, |
| 33 | and ricxapp by default. Similarly, within the AUX cluster, Kubernetes resources are deployed using two name spaces: |
| 34 | ricinfra, and ricaux. |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 35 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 36 | For each cluster, there is a Kong ingress controller that proxies incoming API calls into the cluster. |
| 37 | With Kong, service APIs provided by Kubernetes resources can be accessed at the cluster node IP and |
| 38 | port via a URL path. For cross-cluster communication, in addition to Kong, each Kubernetes namespace |
| 39 | has a special Kubernetes service defined with an endpoint pointing to the other cluster's Kong. This |
| 40 | way any pod can access services exposed at the other cluster via the internal service hostname and port of |
| 41 | this special service. The figure below illustrates the details of how Kong and external services work |
| 42 | together to realize cross-cluster communication. |
Zhe Huang | f7580a8 | 2020-02-13 13:59:50 -0500 | [diff] [blame] | 43 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 44 | .. image:: images/kong-extservice.png |
| 45 | :width: 600 |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 46 | |
| 47 | |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 48 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 49 | Prerequisites |
| 50 | ------------- |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 51 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 52 | Both RIC and AUX clusters need to fulfill the following prerequisites. |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 53 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 54 | - Kubernetes v.1.16.0 or above |
wahidw | f52352d | 2022-02-03 07:21:22 +0000 | [diff] [blame] | 55 | - helm v2.12.3/v3.5.x or above |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 56 | - Read-write access to directory /mnt |
| 57 | |
| 58 | The following two sections show two example methods to create an environment for installing RIC. |
| 59 | |
| 60 | VirtualBox VMs as Installation Hosts |
| 61 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 62 | |
| 63 | The deployment of Near Realtime RIC can be done on a wide range of hosts, including |
| 64 | bare metal servers, OpenStack VMs, and VirtualBox VMs. This section provides detailed instructions |
| 65 | for setting up Oracle VirtualBox VMs to be used as installation hosts. |
| 66 | |
| 67 | .. include:: ./ric/installation-virtualbox.rst |
wrider | c1be425 | 2019-11-26 10:13:54 -0500 | [diff] [blame] | 68 | |
| 69 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 70 | One-Node Kubernetes Cluster |
| 71 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
Lott, Christopher (cl778h) | ca9b3ee | 2020-01-20 15:56:57 -0500 | [diff] [blame] | 72 | |
| 73 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 74 | This section describes how to set up a one-node Kubernetes cluster onto a VM installation host. |
Lott, Christopher (cl778h) | ca9b3ee | 2020-01-20 15:56:57 -0500 | [diff] [blame] | 75 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 76 | .. include:: ./ric/installation-k8s1node.rst |
Lott, Christopher (cl778h) | ca9b3ee | 2020-01-20 15:56:57 -0500 | [diff] [blame] | 77 | |
| 78 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 79 | RIC Platform |
| 80 | ------------------------------------------- |
Lott, Christopher (cl778h) | ca9b3ee | 2020-01-20 15:56:57 -0500 | [diff] [blame] | 81 | |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 82 | After the Kubernetes cluster is installed, the next step is to install the (Near Realtime) RIC Platform. |
| 83 | |
czichy | 5288913 | 2022-05-05 12:02:22 +0300 | [diff] [blame^] | 84 | See instructions in ric-plt/ric-dep: https://docs.o-ran-sc.org/projects/o-ran-sc-ric-plt-ric-dep/en/latest/installation-guides.html |
Zhe | 8326b64 | 2020-12-11 22:31:17 -0500 | [diff] [blame] | 85 | |
| 86 | |
| 87 | AUX Functionalities (Optional) |
| 88 | --------------------------------------------- |
| 89 | |
| 90 | .. include:: ./ric/installation-aux.rst |
| 91 | |
| 92 | |
| 93 | RIC Applications |
| 94 | --------------------------- |
| 95 | |
czichy | 5288913 | 2022-05-05 12:02:22 +0300 | [diff] [blame^] | 96 | See instructions in ric-plt/ric-dep: https://docs.o-ran-sc.org/projects/o-ran-sc-ric-plt-ric-dep/en/latest/installation-guides.html |