Pick a depth. Each prompt opens in your AI pre-loaded with the lesson. Click a row to preview the prompt.
Kubernetes was built to schedule CPU and memory, which it understands natively. A GPU is none of those things — the kubelet has no idea a GPU exists until something tells it. That something is the device plugin framework, which lets vendors advertise hardware as a named extended resource like nvidia.com/gpu. Until you grasp that a GPU is just a counted, opaque resource the scheduler matches against pod requests, every GPU-scheduling decision later in this course will feel arbitrary. This task plants the single mental model the rest of the course extends: a GPU is an extended resource a node advertises and a pod requests.
Inspect a GPU node and you'll see nvidia.com/gpu listed under Capacity and Allocatable, right next to cpu and memory. That line is the device plugin doing its job — the node is telling the scheduler how many GPUs it has to hand out.
# Ask a node what resources it advertises
kubectl describe node gpu-node-1 | grep -A12 "Capacity:"
# Expected to include nvidia.com/gpu among the standard resources:
# Capacity:
# cpu: 32
# memory: 257698Mi
# nvidia.com/gpu: 4
# Allocatable:
# nvidia.com/gpu: 4
# List GPU counts across all nodes at a glance
kubectl get nodes -o custom-columns=NAME:.metadata.name,GPUs:.status.allocatable."nvidia\.com/gpu"