Merge "Add release notes"
[it/dep.git] / docs / installation-guides.rst
index 05231f5..f871754 100644 (file)
@@ -1,10 +1,10 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. SPDX-License-Identifier: CC-BY-4.0
 .. ===============LICENSE_START=======================================================
-.. Copyright (C) 2019 AT&T Intellectual Property      
+.. Copyright (C) 2019-2020 AT&T Intellectual Property
 .. ===================================================================================
-.. This documentation file is distributed under the Creative Commons Attribution 
-.. 4.0 International License (the "License"); you may not use this file except in 
+.. This documentation file is distributed under the Creative Commons Attribution
+.. 4.0 International License (the "License"); you may not use this file except in
 .. compliance with the License.  You may obtain a copy of the License at
 ..
 .. http://creativecommons.org/licenses/by/4.0
 .. limitations under the License.
 .. ===============LICENSE_END=========================================================
 
-.. contents::
-   :depth: 3
-   :local:
+===================
+Installation Guides
+===================
 
-========
-Abstract
-========
-
-This document describes how to install <Component>, it's dependencies and required system resources.
+This document describes how to install the RIC components deployed by scripts and Helm charts
+under the it/dep repository, including the dependencies and required system resources.
 
 .. contents::
    :depth: 3
    :local:
 
 Version history
----------------------
+===============
 
 +--------------------+--------------------+--------------------+--------------------+
 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
 |                    |                    |                    |                    |
 +--------------------+--------------------+--------------------+--------------------+
-| 20XX-XX-XX         | 0.1.0              |                   | First draft        |
-|                    |                    |                    |                    |
-+--------------------+--------------------+--------------------+--------------------+
-|                    | 0.1.1              |                    |                    |
+| 2019-11-25         | 0.1.0              |Lusheng Ji          | Amber              |
 |                    |                    |                    |                    |
 +--------------------+--------------------+--------------------+--------------------+
-|                    | 1.0                |                    |                    |
-|                    |                    |                    |                    |
+| 2020-01-23         | 0.2.0              |Zhe Huang           | Bronze RC          |
 |                    |                    |                    |                    |
 +--------------------+--------------------+--------------------+--------------------+
 
 
-Introduction
-============
-.. <INTRODUCTION TO THE SCOPE AND INTENTION OF THIS DOCUMENT AS WELL AS TO THE SYSTEM TO BE INSTALLED>
 
-.<EXAMPLE>:
+Overview
+========
+
+The installation of Near Realtime RAN Intelligent Controller is spread onto two separate
+Kubernetes clusters.  The first cluster is used for deploying the Near Realtime RIC (platform and
+applications), and the other is for deploying other auxiliary functions.  They are referred to as
+RIC cluster and AUX cluster respectively.
+
+The following diagram depicts the installation architecture.
+
+.. image:: images/nrtric-amber.png
+   :width: 600
+
+Within the RIC cluster, Kubernetes resources are deployed using three name spaces: ricinfra, ricplt,
+and ricxapp by default.  Similarly, within the AUX cluster, Kubernetes resources are deployed using two name spaces:
+ricinfra, and ricaux.
 
-This document describes the supported software and hardware configurations for the reference component as well as providing guidelines on how to install and configure such reference system.
+For each cluster, there is a Kong ingress controller that proxies incoming API calls into the cluster.
+With Kong, service APIs provided by Kubernetes resources can be accessed at the cluster node IP and
+port via a URL path.  For cross-cluster communication, in addition to Kong, each Kubernetes namespace
+has a special Kubernetes service defined with an endpoint pointing to the other cluster's Kong. This
+way any pod can access services exposed at the other cluster via the internal service hostname and port of
+this special service.  The figure below illustrates the details of how Kong and external services work
+together to realize cross-cluster communication.
 
-The audience of this document is assumed to have good knowledge in RAN network nd Linux system.
+.. image:: images/kong-extservice.png
+   :width: 600
 
 
-Preface
-=======
-.. <DESCRIBE NEEDED PREREQUISITES, PLANNING, ETC.>
 
-<EXAMPLE>:
+Prerequisites
+=============
 
-Before starting the installation of <project name>, some planning must preceed.
+Both RIC and AUX clusters need to fulfill the following prerequisites.
 
-.. note:any preperation you need before setting up sotfware and hardware 
+- Kubernetes v.1.16.0 or above
+- helm v2.12.3 or above
+- Read-write access to directory /mnt
 
+The following two sections show two example methods to create an environment for installing RIC.
 
-Hardware requirements
-=====================
-.. <PROVIDE A LIST OF MINIMUM HARDWARE REQUIREMENTS NEEDED FOR THE INSTALL>
+VirtualBox VMs as Installation Hosts
+------------------------------------
 
-<EXAMPLE>:
+The deployment of Near Realtime RIC can be done on a wide range of hosts, including
+bare metal servers, OpenStack VMs, and VirtualBox VMs.  This section provides detailed instructions
+for setting up Oracle VirtualBox VMs to be used as installation hosts.
 
-Following minimum hardware requirements must be met for installation of <project name>:
+.. include:: ./installation-virtualbox.rst
 
-+--------------------+----------------------------------------------------+
-| **HW Aspect**      | **Requirement**                                    |
-|                    |                                                    |
-+--------------------+----------------------------------------------------+
-| **# of servers**   |                                                           |
-+--------------------+----------------------------------------------------+
-| **CPU**            |                                                           |
-|                    |                                                    |
-+--------------------+----------------------------------------------------+
-| **RAM**            |                                                           |
-|                    |                                                    |
-+--------------------+----------------------------------------------------+
-| **Disk**           |                                                           |
-|                    |                                                    |
-+--------------------+----------------------------------------------------+
-| **NICs**           |                                                           |
-|                    |                                                    |
-|                    |                                                           |
-|                    |                                                    |
-|                    |                                                   |
-|                    |                                                    |
-+--------------------+----------------------------------------------------+
 
+One-Node Kubernetes Cluster
+---------------------------
 
+This section describes how to set up a one-node Kubernetes cluster onto a VM installation host.
 
+.. include:: ./installation-k8s1node.rst
 
 
-Software installation and deployment
-==========================================
-.. <DESCRIBE THE FULL PROCEDURES FOR THE INSTALLATION OF THE O-RAN COMPONENT INSTALLATION AND DEPLOYMENT>
+Installing Near Realtime RIC in RIC Cluster
+===========================================
 
-<EXAMPLE>:
+After the Kubernetes cluster is installed, the next step is to install the (Near Realtime) RIC Platform.
 
-This section describes the installation of the <project name> installation on the reference hardware.
+.. include:: ./installation-ric.rst
 
 
+Installing Auxiliary Functions in AUX Cluster
+=============================================
 
-References
-==========
-.. <PROVIDE NEEDED/USEFUL REFERENCES>
+.. include:: ./installation-aux.rst
 
-<EXAMPLES>:
 
-OpenStack
-^^^^^^^^^^^
+Installing RIC Applications
+===========================
 
+.. include:: ./installation-xapps.rst