Issue
After configuring MIG on a node, the NVIDIA GPU Operator does not advertise MIG slices as individual allocatable resources. Instead, the full GPU is exposed as a single raw resource, making per-slice scheduling impossible.
Explanation
The GPU Operator supports two MIG strategies: single and mixed. With single, the
NVIDIA device plugin bundles all MIG instances together and advertises them as a generic
nvidia.com/gpu resource rather than individual slice resources. This is the default
Helm chart strategy.
Resolution
Set the MIG strategy to mixed. This makes the device plugin advertise each MIG
instance as its own allocatable resource (e.g. nvidia.com/mig-1g.10gb).
Pass --set mig.strategy=mixed at install time:
helm install --wait --generate-name \
-n gpu-operator --create-namespace \
nvidia/gpu-operator \
--set mig.strategy=mixedOr patch an already-running ClusterPolicy:
kubectl patch clusterpolicy/gpu-cluster-policy --type='json' \
-p='[{"op": "replace", "path": "/spec/mig/strategy", "value": "mixed"}]'Note: On Google Cloud, also set
WITH_REBOOT=trueon the MIG Manager to allow the node to reboot and apply the configuration.
Refer to the official NVIDIA GPU Operator MIG documentation.