Kubernetes Pod Scheduling: nodeSelector and Node Affinity
Start with nodeSelector for simple node targeting, then upgrade to node affinity for expressive matching that nodeSelector cannot handle.
Focused hands-on problems designed to help you hone your DevOps or Server Side skills. Some challenges are more educational, while others are based on real-world scenarios. The platform provides hints and feedback for each challenge, including automated solution checks.
Start with nodeSelector for simple node targeting, then upgrade to node affinity for expressive matching that nodeSelector cannot handle.
See how Kubernetes determines BestEffort, Burstable, and Guaranteed classes from resource configuration - and which pods get evicted first under pressure.
See how CPU and memory requests influence where pods land - and what happens when no node can fit them.
Spread pods evenly across nodes and availability zones using maxSkew and zone-aware topology keys.
Co-locate pods that belong together and keep apart pods that should not share a node using affinity and anti-affinity rules.
Create a Deployment with specific scheduling, labels, and port configuration, then expose it externally using a NodePort Service.