Some parts of this page are now out of date. Use together with more recent page: Release J - Run in Kubernetes
This article helps you to deploy the nonrtric components in your local VM in minikube environment.
Table of Contents |
---|
Prerequisite
- Docker
...
Install Minikube
Login into your vm and run the below command as sudo user in the terminal. This will install the latest version of minikube in your vm.
...
Run the below command to install latest helm version 2.16,
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
curl -L https://git.io/get_helm.sh | bash |
...
Note: It may take a while for A1 controller image to be downloaded.
Kubectl -n nonrtric get pod, will show pod status
Troubleshoot
Install Conntrack
- When you run minikube start you may get below error. Basically this is connection tracking module needed for kuberenteskubernetes.
Install contractconntrack,
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
sudo apt-get install conntrack |
Turn off swap
Once kube k8's commands are installed and , minikube will start the initialization process and you may get below error,
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
apt install socat |
Version Details
- docker - 19.03
- helm - 2.16
- minikube - 1.11
- kubernetes - 1.18
Setup
All the above setup is done in Oracle Virtual box VM and you can try it in different OS's and feel free to update this page
...
https://ubuntu.com/download/desktop
Alternative to Deploy NONRTRIC in Minikube
There is an alternative way, described in the procedure below to run NonRT-RIC kubenetes cluster in Minikube running on Oracle Virtual Box with Ubuntu 22.04.
Via an installation script that brings up Minikube and allow to deploy NonRT-RIC cluster on it. Besides, the Kubernetes GUI could be started to see overall deployment.
Prerequisite
VirtualBox version 6.1. (Can be downloaded from this page Download VirtualBox)
Install Ubuntu 22.04
Ubuntu version 22.04. (Can be downloaded from this page Download Ubuntu)
Basic configuration of Ubuntu on Virtual Box can be found below.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
###Install Curl###
$ sudo apt install curl
###Install Git###
$ sudo apt install git |
Install Minikube
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#!/bin/bash
# Script to run as root in Ubuntu 22.04 running on Oracle Virtual Box.
# This will bring up MiniKube running. For further Non-RT RIC installation, the related block must uncomment and run.
# NOTE: Do 'sudo su' before running the script
# NOTE: Before start to installation, ensure that Curl, Git and Wget are ready to use!
###Log all cmds to stdout###
set -x
###Fetch and install Docker###
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
###Install Conntrack###
apt-get install conntrack
###Install Socat###
apt install socat
###Install GO Lang###
wget https://storage.googleapis.com/golang/getgo/installer_linux
chmod +x ./installer_linux
./installer_linux
source ~/.bash_profile
###Install cri-dockerd###
git clone https://github.com/Mirantis/cri-dockerd.git
cd cri-dockerd
mkdir bin
go build -o bin/cri-dockerd
mkdir -p /usr/local/bin
install -o root -g root -m 0755 bin/cri-dockerd /usr/local/bin/cri-dockerd
cp -a packaging/systemd/* /etc/systemd/system
sed -i -e 's,/usr/bin/cri-dockerd,/usr/local/bin/cri-dockerd,' /etc/systemd/system/cri-docker.service
systemctl daemon-reload
systemctl enable cri-docker.service
systemctl enable --now cri-docker.socket
cd ..
###Install Crictl###
VERSION="v1.25.0"
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz
sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin
rm -f crictl-$VERSION-linux-amd64.tar.gz
###Fetch and install Minikube###
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube
mkdir -p /usr/local/bin/
install minikube /usr/local/bin/
###Fetch and install Kubectl###
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x ./kubectl
mv ./kubectl /usr/local/bin/kubectl
kubectl version --client #Just print the version
###Fetch Helm 3###
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
###exit root###
exit
###Add user to docker group###
sudo usermod -aG docker $USER && newgrp docker
##################################################################################
## Clone dep repo and deploy Non-RT RIC components ###
## Uncomment the following lines to install Non-RT RIC (can also be done later)###
##################################################################################
#git clone "https://gerrit.o-ran-sc.org/r/it/dep"
#cd dep/bin
#sudo ./deploy-nonrtric -f ../nonrtric/RECIPE_EXAMPLE/example_recipe.yaml |
Start Minikube
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
###Start minikube###
minikube start
###Check status###
$ minikube status
$ kubectl get pods -n kube-system |
Open the Kubernetes Dashboard
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
###Start dashboard###
$ minikube dashboard |