Skip to content

Tenet III

Scheduling

Placement as stewardship: constraints, resources, fairness, and the calm geometry of execution.

Ceremonial Statement

A rite of placement.

“Do not scatter the work by impulse. Place it by rule. The node is not a bucket; it is a covenant of resources.”

Plain-language Explanation

Scheduling is how intent becomes physical.

The scheduler chooses which node runs a Pod. That choice is shaped by resource requests/limits, affinity and anti-affinity, taints and tolerations, topology spread constraints, and availability goals. Scheduling is not “just performance”—it’s reliability, cost, and blast radius.

Tenet III encourages explicit constraints. If you want isolation, say it. If you want spreading, say it. If you want priority, encode it. Then observe whether reality matches your declaration.

Kubernetes Mapping

Key features and the questions they answer.

  • Requests/Limits: what does this workload need to run safely?
  • PriorityClasses: what should live when the cluster is full?
  • (Anti-)Affinity: what should run together or apart?
  • Taints/Tolerations: which nodes are reserved or hazardous?
  • Topology Spread: how do we distribute replicas across zones/racks/nodes?

Operator Mindset

Scheduling as discipline.

Requests are promises

Under-requesting is not efficiency—it’s lying. Over-requesting is not safety—it’s waste. Make requests match measured reality.

Constraints beat hope

If replicas must survive a node failure, enforce spreading. If you need GPU or special hardware, encode it. Hope is not an SLO.

Observe pending Pods

Pending Pods are the scheduler’s truth signal. Use kubectl describe pod and events to see why placement failed.