Enhance documentation
[it/dep.git] / docs / installation-guides.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 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
22 ===================
23 Installation Guides
24 ===================
25
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.
28
29 .. contents::
30    :depth: 3
31    :local:
32
33 Version history
34 ===============
35
36 +--------------------+--------------------+--------------------+--------------------+
37 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
38 |                    |                    |                    |                    |
39 +--------------------+--------------------+--------------------+--------------------+
40 | 2019-11-25         | 0.1.0              |Lusheng Ji          | First draft        |
41 |                    |                    |                    |                    |
42 +--------------------+--------------------+--------------------+--------------------+
43
44
45 Overview
46 ========
47
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.
52
53 The following diagram depicts the installation architecture.
54
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
70
71
72 VirtualBox VMs as Installation Hosts
73 =======================================
74
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.
78
79 .. include:: ./installation-virtualbox.rst
80
81
82
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
89
90
91 Installing Near Realtime RIC in RIC Cluster
92 ===========================================
93
94 After the Kubernetes cluster is installed, teh next step is to install the (Near Realtime) RIC Platform.
95
96 .. include:: ./installation-ric.rst 
97
98
99 Installing Auxiliary Functions in AUX Cluster
100 =============================================
101
102 .. include:: ./installation-aux.rst
103
104
105 Installing RIC Applications
106 ===========================================
107
108 .. include:: ./installation-xapps.rst
109
110
111
112