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.