Skip to main content
Version: v5.9.0

Install NETINT Kubernetes Plugin

Install NETINT Kubernetes Plugin​

Quadra has a specialized plugin for Kubernetes so it can be used as a pod. This section will install the required packages for the plugin to work.

  1. Install the following packages
sudo apt install golang-go
sudo apt install gccgo-go
sudo apt-get install apt-transport-https --yes
echo "deb https://baltocdn.com/helm/stable/debian/  all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm

Download the Pugin​

  1. Download the plugin compilation files from the NETINT’s github public repo:

https://github.com/NETINT-Technologies/k8_device_plugin

Activate Plugin​

  1. Enter the plugin folder and run the following commands:
cd netint-device-plugin_release
make buildImage
make deploy
  1. Check available nodes with the following:
kubectl get pods -n kube-system

Example:

NAME                             READY   STATUS    RESTARTS        AGE
coredns-65c54cc984-g9qdr         1/1     Running   60 (22h ago)    34d
etcd-cli406                      1/1     Running   68 (22h ago)    34d
kube-apiserver-cli406            1/1     Running   68 (22h ago)    34d
kube-controller-manager-cli406   1/1     Running   69 (22h ago)    34d
kube-proxy-6p4th                 1/1     Running   60 (22h ago)    34d
kube-scheduler-cli406            1/1     Running   61 (22h ago)    34d
netint-qs7ck                     1/1     Running   33 (22h ago)    20d
storage-provisioner              1/1     Running   110 (22h ago)   34d

You should find the netint-#####, pod running with ready 1/1 and status should be running. When you access this pod, you can install all packages required for quadra within the pod through the quadra_setup script and build FFmpeg for quadra within the pod.

After copying quadra_setup over, run it in the pod, it will install all the packages required.

Copy over the FFmpeg folder to the pod and build FFmpeg, you will be able to run commands within the pod now. Now try running sudo nvme list and ni_rsrc_mon, and you should see something like this :

sudo nvme list

Example:

Node             SN                   Model                                    Namespace Usage                      Format           FW Rev 
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     Q1A10BA11FC060-0124  QuadraT1A                                1           8.59  TB /   8.59  TB      4 KiB +  0 B   ---51DEV
/dev/nvme1n1     Q1A10BA11FC060-0142  QuadraT1A-EP1                            1           8.59  TB /   8.59  TB      4 KiB +  0 B   ---51DEV 
ni_rsrc_mon

Example

NI resource init'd already ..                  **************************************************
2 devices retrieved from current pool at start up
Thu Apr 14 02:54:11 2022 up 00:00:00 v---51DEV
Num decoders: 2
INDEX LOAD MODEL_LOAD INST MEM  SHARE_MEM P2P_MEM DEVICE         NAMESPACE          
0     0    0          0    0    0         0     /dev/nvme0 /dev/nvme0n1       
1     0    0          0    0    0         0     /dev/nvme1 /dev/nvme1n1       
Num encoders: 2
INDEX LOAD MODEL_LOAD INST MEM  SHARE_MEM P2P_MEM DEVICE         NAMESPACE          
0     0    0          0    0    0         0     /dev/nvme0 /dev/nvme0n1       
1     0    0          0    0    0         0     /dev/nvme1 /dev/nvme1n1       
Num scalers: 2
INDEX LOAD MODEL_LOAD INST MEM  SHARE_MEM P2P_MEM DEVICE         NAMESPACE          
0     0    0          0    0    0         0     /dev/nvme0 /dev/nvme0n1       
1     0    0          0    0    0         0     /dev/nvme1 /dev/nvme1n1       
Num AIs: 2
INDEX LOAD MODEL_LOAD INST MEM  SHARE_MEM P2P_MEM DEVICE         NAMESPACE          
0     0    0          0    0    0      0  /dev/nvme0 /dev/nvme0n1       
1     0    0          0    0    0      0  /dev/nvme1 /dev/nvme1n1