This article helps you to deploy the nonrtric components in your local VM in minikube environment.
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.
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ && chmod +x minikube sudo mkdir -p /usr/local/bin/ sudo install minikube /usr/local/bin/
Start minikube
You can start the minikube with the below command. Check Troubleshoot section for any potential errors.
sudo minikube start --vm-driver=none
If the above command is successful, you should see the below logs in your terminal,
If there are no issues then you could see below success message,
Install Kubectl
Kubectl command enables us to run commands against k8's cluster.
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 sudo mv ./kubectl /usr/local/bin/kubectl kubectl version --client Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.3", GitCommit:"2e7996e3e2712684bc73f0dec0200d64eec7fe40", GitTreeState:"clean", BuildDate:"2020-05-20T12:52:00Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Install Helm
Run the below command to install helm version 2.16,
curl -L https://git.io/get_helm.sh | bash
Run the below command to install latest helm, Create yaml file to define the service account & cluster role binding for helm,
cat > tiller-serviceaccount.yaml << EOF apiVersion: v1 kind: ServiceAccount metadata: name: tiller namespace: kube-system --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: tiller-clusterrolebinding subjects: - kind: ServiceAccount name: tiller namespace: kube-system roleRef: kind: ClusterRole name: cluster-admin apiGroup: "" EOF
sudo kubectl create -f tiller-serviceaccount.yaml
helm init --service-account tiller --upgrade
After initializing helm you can call helm version and you should see below response,
Install Nonrtric
Clone IT/dep repo and go to /dep/bin and run below command,
./deploy-nonrtric -f ../nonrtric/RECIPE_EXAMPLE/example_recipe.yaml
If the deployment is successful, you could below logs,
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 kuberentes.
Install contract,
sudo apt-get install conntrack
Turn off swap
Once kube commands are installed and minikube will start the initialization process and you may get below error,
Simply turn off the swap,
sudo swapoff -a
Increase the CPU
You need to increase the processors of the VM. To this go to the virtual box settings and increase it to 2.
Install socat
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
You have Oracle Virtual box installed with Ubuntu VM.
For more information, refer
https://ubuntu.com/download/desktop