This
...
Table of Contents |
---|
NONRTRIC Architechture
NONRTRIC composes of four major components,
- Control Panel
- Policy Management Service
- A1 Controller
- NearRT RIC Simulator
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.
For more information you could refer to below links,
https://helm.sh/docs/intro/quickstart/
Helm Chart in NONRTRIC
In Release B, the helm chart's are written in IT/Dep repo.
The following picture shows the hierarchy of the nonrtric within IT/Dep repo.
Each components in nonrtric repo are independent chart with common dependency of nonrtric-common. The nonrtric chart acts a parent chart where other charts like a1controller, a1simulator, controlpanel & policymanagemenservice are added as dependencies in it.
The nonrtric-common contains the common template shared across all the nonrtric componenets. The nonrtric-common chart is added as a dependency into all the components (a1controller, a1simulator, controlpanel, policymanagemenservice & nonrtric)
Each component can be built & packaged independently of others and the required version can be deployed by adding the same into requirements.yaml file in nonrtric
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
dependencies:
- name: a1controller
version: ~1.0.0
repository: "@local"
- name: a1simulator
version: ~1.0.1
repository: "@local"
- name: controlpanel
version: ~1.0.0
repository: "@local"
- name: policymanagementservice
version: ~1.0.0
repository: "@local"
- name: nonrtric-common
version: ^1.0.0
repository: "@local" |
The values.yaml file contains the default value of the individual components and it can be overridden with the override yaml file. The default values.yaml,
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
imagePullPolicy: IfNotPresent
image:
registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
name: nonrtric-a1-controller
tag: 1.7.4
replicaCount: 1
service:
internalPort: 8181
externalPort: 8282 |
Packaging & Repo update
All the logic behind the helm packaging & repo update are kept under deploy-nonrtric.sh file. This script crawls through the nonrtric directory and packages all the dependencies charts & copy it to the helm local repo.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# Package nonrtric-common and serve it using Helm local repo
HELM_HOME=$(helm home)
COMMON_CHART_VERSION=$(cat $ROOT_DIR/../ric-common/Common-Template/helm/nonrtric-common/Chart.yaml | grep version | awk '{print $2}')
helm package -d /tmp $ROOT_DIR/../ric-common/Common-Template/helm/nonrtric-common
cp /tmp/nonrtric-common-$COMMON_CHART_VERSION.tgz $HELM_HOME/repository/local/ |
You can use the example recipe or your custom recipe file to invoke this script. Call the below command from /dep/bin directory,
...
language | bash |
---|---|
theme | Midnight |
title | run deploy command |
...
page is out of date.
Please see the relevant page for the latest release: e.g. Release J - Run in Kubernetes