A cluster node is a machine that runs Pods. Pod placement matters when workloads need particular hardware or local storage: a Pod requiring CUDA can fail to start if scheduled on a node without a GPU. section 3.2.7
Control placement at both the node and workload levels:
- Label nodes to identify suitable targets, then use a node selector or node affinity in the workload. A label does not reject other Pods. section 3.2.7
- Taint nodes to repel Pods without matching tolerations. Choose the taint effect according to whether scheduling should be blocked, discouraged, or existing Pods evicted. section 3.2.7
- Use Pod affinity to place Pods together, or anti-affinity to spread them across nodes or zones. section 3.2.7
Reserve GPU-capable placement
Label a suitable node with `kubectl label nodes node1 gpu=true`, then target that label from the workload. If other Pods should be kept off the node, add a `NoSchedule` taint and give intended workloads a matching toleration. section 3.2.7


