On DGX systems you will need to enable GPU support right after you install MicroK8s:
sudo snap install microk8s --classic sudo microk8s enable gpu
MicroK8s installs the NVIDIA operator which allows you to take advantage of the GPU hardware available.
To verify the installation works as expected you can try to perform a CUDA vector addition by applying the following manifest (save this file and use kubectl apply):
apiVersion: v1 kind: Pod metadata: name: cuda-vector-add spec: restartPolicy: OnFailure containers: - name: cuda-vector-add image: "k8s.gcr.io/cuda-vector-add:v0.1" resources: limits: nvidia.com/gpu: 1
After the addition completes, check the logs of the
cuda-vector-add pod to see if it succeeded.
Multi-Instance GPU (MIG) allows GPU partitioning so they can be safely used by CUDA applications. Starting from MicroK8s v1.23 MIG can be configured via configMaps, please see the NVIDIA operator docs on this topic.