K8s Resource Management

SMI leverages the native resource reservation controls in K8s.

K8s provides a framework to intelligently place pods on the correct server, VM, and/or node, and assign the appropriate system resources, including:

  • Service taints, tolerances, affinity, and anti-affinity rules

    • Provides rules for pod placement across available hardware

    • Prevents resource "hotspots" by separating pods with similar resource profiles

    • Provides high availability (HA) by ensuring secondary instances through pod separation

  • CPU reservation

    • Allows applications to specify CPUs/CPU requirements (similar to CPU pinning)

    • Prevents negative impacts from context switching, or noisy/grabby neighbors

  • Pod quality of service (QoS) definition (e.g. the quality and range of resources available to the Pods)

    • Guaranteed (resource requests = resource limits)

    • Burstable (resource requests > resource limits)

    • Best effort (no resource requests nor limits)

DSCP is implemented at the network level to manage the quality of service and ensure critical traffic is prioritized.