Place One Pod per Node Without Using a DaemonSet
Deploy a multi-container Kubernetes Deployment and ensure that no more than one Pod runs on the same worker node, without using a DaemonSet.
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.
Deploy a multi-container Kubernetes Deployment and ensure that no more than one Pod runs on the same worker node, without using a DaemonSet.
Troubleshoot and update a Kubernetes DaemonSet so that its Pods run on all nodes in the cluster, including the control plane.
Start with nodeSelector for simple node targeting, then upgrade to node affinity for expressive matching that nodeSelector cannot handle.
Use LimitRange to set per-pod resource defaults and ResourceQuota to cap total namespace consumption.
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.
Use PriorityClass to guarantee critical pods get scheduled even when the cluster is under resource pressure.
Spread pods evenly across nodes and availability zones using maxSkew and zone-aware topology keys.
See why taints and tolerations alone or node affinity alone are not enough to fully control pod placement on dedicated nodes.
Co-locate pods that belong together and keep apart pods that should not share a node using affinity and anti-affinity rules.