Install microk8s via sudo snap install microk8s --classic
Add arm64 to the supported_architectures of the nvidia and gpu addons in /var/snap/microk8s/common/addons/core/addons.yaml
Enable the gpu addon via sudo microk8s enable gpu
Deploy the NVIDIA device plugin for ARM64 manually by running sudo microk8s kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/refs/tags/v0.18.0/deployments/static/nvidia-device-plugin.yml
Update the cuda-vector-add container image in the “MicroK8s on NVIDIA DGX” example to nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda12.5.0-ubuntu22.04
After running sudo microk8s kubectl apply on the updated cuda-vector-add manifest, the pod was scheduled and deployed:
$ sudo microk8s kubectl logs cuda-vector-add
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done
I installed microk8s on DGX-Spark plus GPU Operator - managed to RUN NIMs as well.
I wanted something quick and supported by the official GPU operator documentation
I installed microk8s using snap install –classic + dns using microk8s enable dns - > nothing fancy.