Class Resources: Kubernetes’ Fastest Way Of Shushing Noisy Neighbors
summary
Class Resources introduces a CRI+API extension that tags containers with opaque class identifiers to control cache, memory bandwidth and block I/O, implemented in a prototype using resctrl and blkio cgroups and a containerd/crio runtime prototype; kubelet publishes available classes to node status, the scheduler filters nodes by class, and the runtime enforces assignments. Demo on a single-node POC applies gold/silver/bronze and high/normal/low classes successfully; work is tracked in cap 3008 targeting 1.27, with accounting and autoscaler integration left for future phases.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:23Kubernetes resource models for QoS
- 3:10Target resources for Class Resources
- 5:58Noisy neighbor problem example
- 7:45Limitations of runtime-only approach
- 9:33Technical design for Class Resources
- 12:48Control flow in Kubernetes
- 14:12Future-proofing Class Resources
- 17:18Implementation roadmap
- 19:26Live demo of proof of concept
- 26:27Status and open concerns
- 28:57Q&A
related talks
21mDo Not Disturb Mode: Fine-Tuning Resources for Latency Sensitive Workloads
36mMitigating Noisy Neighbours: Advanced Container Resource Management
36mOptimizing Kubernetes for Low-Latency and Real-Time Containers
33mCRI-O Still Loves Kubernetes
31mCRI-O: The Runtime Control Room
45mLimits, Requests, QoS, PriorityClasses: Demystifying Scheduling in K8s!
36mTaming the Beast: Advanced Resource Management With Kubernetes
42mCRI Runtimes Deep Dive: Who's Running My Kubernetes Pod!?
