Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This wiki describes how to deploy the NONRTRIC components within Kubernetes cluster.

Table of Contents

NONRTRIC Architecture

NONRTRIC comprises several components,

...

In the IT/Dep repo, there are helm charts for each these components. In addition, there is a chart called nonrtric, which is a composition of the components above.

Preparations

Download the the it/dep repository. At time of writing (Dec 2021) there is no branch for e-release so cloning can be made from master.  Pls check if the branch exist before cloning from master.

Code Block
languagebash
titleClone repo
git clone "https://gerrit.o-ran-sc.org/r/it/dep" -b e-release

or 

git clone "https://gerrit.o-ran-sc.org/r/it/dep"

Configuration of components to install

It is possible to configure which of nonrtric components to install, including the controller and a1 simulators. This configuration is made in the override for the helm package. Edit the following file

...

Code Block
languagebash
titleEditor override file
nonrtric:
  installPms: true
  installA1controller: true
  installA1simulator: true
  installControlpanel: true
  installInformationservice: true
  installRappcatalogueservice: true
  installNonrtricgateway: true
  installKong: false
  installDmaapadapterservice: true
  installDmaapmediatorservice: true
  installHelmmanager: true
  volume1:
    # Set the size to 0 if you do not need the volume (if you are using Dynamic Volume Provisioning)
    size: 2Gi
    storageClassName: pms-storage
  volume2:
     # Set the size to 0 if you do not need the volume (if you are using Dynamic Volume Provisioning)
    size: 2Gi
    storageClassName: ics-storage
  volume3:
    size: 1Gi
    storageClassName: helmmanager-storage

...
...
...

Installation

There is a script that packs and installs the components by using the helm command.  The installation uses a values override file like the one shown above. This example can be run like this:

Code Block
languagebash
titleDeploy Nonrtric
sudo dep/bin/deploy-nonrtric -f dep/nonrtric/RECIPE_EXAMPLE/example_recipe.yaml

Result of the installation

The installation will create one helm release and all created kubernetes objects will be put in a namespace. This name is 'nonrtric' and cannot be changed.

...

Code Block
languagebash
themeMidnight
titleGet Pods
>sudo kubectl -n nonrtric get pod 

NAME                                   READY   STATUS    RESTARTS   AGE
a1-sim-osc-0                           1/1     Running   0          61m
a1-sim-osc-1                           1/1     Running   0          51m
a1-sim-std-0                           1/1     Running   0          61m
a1-sim-std-1                           1/1     Running   0          51m
a1-sim-std2-0                          1/1     Running   0          61m
a1-sim-std2-1                          1/1     Running   0          51m
a1controller-64c5b7fc56-rkmx2          1/1     Running   0          61m
controlpanel-6fb697f949-rrvnq          1/1     Running   0          61m
db-76d79cd769-q84pc                    1/1     Running   0          61m
dmaapadapterservice-0                  1/1     Running   0          61m
dmaapmediatorservice-0                 1/1     Running   0          61m
helmmanager-0                          1/1     Running   0          61m
informationservice-0                   1/1     Running   0          61m
nonrtricgateway-8c87c678d-8nl82        1/1     Running   0          61m
policymanagementservice-0              1/1     Running   0          61m
rappcatalogueservice-f77f47cb9-85hjq   1/1     Running   0          61m

Un-installation

There is a script that uninstalls installs the NonRT RIC components. It is simply run like this:

Code Block
languagebash
titleUndeploy Nonrtric
sudo dep/bin/undeploy-nonrtric

Introduction to Helm Chart

In NONRTRIC we use Helm chart as a packaging manager for kubernetes. Helm chart helps developer to package, configure & deploy the application and services into kubernetes environment.

...