d7df204f6df041787ee371d03de4b3f41de54e2e
[it/dep.git] / docs / installation-ric.rst
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-2020 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
19 Installing Near-realtime RIC
20 ============================
21
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.
26
27 The following diagram depicts the installation architecture.
28
29 .. image:: images/nrtric-amber.png
30    :width: 600
31
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.
35
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.
43
44 .. image:: images/kong-extservice.png
45    :width: 600
46
47
48
49 Prerequisites
50 -------------
51
52 Both RIC and AUX clusters need to fulfill the following prerequisites.
53
54 - Kubernetes v.1.16.0 or above
55 - helm v2.12.3 or above
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
68
69
70 One-Node Kubernetes Cluster
71 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
72
73
74 This section describes how to set up a one-node Kubernetes cluster onto a VM installation host.
75
76 .. include:: ./ric/installation-k8s1node.rst
77
78
79 RIC Platform
80 -------------------------------------------
81
82 After the Kubernetes cluster is installed, the next step is to install the (Near Realtime) RIC Platform.
83
84 .. include:: ./ric/installation-ricplt.rst
85
86
87 AUX Functionalities (Optional)
88 ---------------------------------------------
89
90 .. include:: ./ric/installation-aux.rst
91
92
93 RIC Applications
94 ---------------------------
95
96 .. include:: ./ric/installation-xapps.rst
97