EnterpriseNVIDIA

Canonical Kubernetes

Canonical

Canonical's production Kubernetes (the 'k8s' snap / Charmed operator model). GPUs are enabled with the NVIDIA GPU Operator on Ubuntu hosts.

Bootstrap with Canonical Kubernetes
Enablement

NVIDIA GPU Operator

Driver install

GPU Operator on Ubuntu; or Ubuntu's packaged drivers with driver.enabled=false.

Container runtime

containerd.

Scheduling

Default scheduler; charm-based lifecycle for enterprise ops.

Partitioning

MIG/time-slicing via the operator.

Networking

Cilium/Calico; Multus + SR-IOV for RDMA.

Upgrades

Snap/charm-driven upgrades; re-validate the operator after Kubernetes bumps.

GPU enablement
  1. 1

    Bootstrap the cluster

    Install the k8s snap and form the cluster (or use the Charmed operators).

  2. 2

    Install the GPU Operator

    Standard Helm install on the Ubuntu nodes.

    bash
    helm repo add nvidia https://helm.ngc.nvidia.com/nvidia
    helm repo update
    helm install --wait gpu-operator nvidia/gpu-operator \
      -n gpu-operator --create-namespace
  3. 3

    Validate

    Confirm allocatable GPUs and run a CUDA pod.

Validate the enablement
verify GPUs
kubectl get nodes -o custom-columns=NAME:.metadata.name,GPU:.status.allocatable.'nvidia\.com/gpu'
kubectl -n gpu-operator get pods
kubectl run cuda-check --rm -it --restart=Never \
  --image=nvidia/cuda:12.4.1-base-ubuntu22.04 \
  --limits=nvidia.com/gpu=1 -- nvidia-smi
Known limitations
  • ·Tight Ubuntu coupling — driver strategy assumes Ubuntu kernels.
  • ·Charmed model has its own operational learning curve.
Best for

Ubuntu-standardized enterprises wanting a charm-managed lifecycle.