[Feature] Cluster resource waterline (allocation-rate threshold) guard for multi-cluster scheduling #7137
RainbowMango
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
What we need
We want the scheduler to honor per-cluster waterlines: if a cluster’s allocation rate for CPU/memory/GPU goes past its threshold, we stop placing new replicas there. Existing replicas stay put.
Why it matters
This prevents member clusters from being overcommitted, keeps SLOs steadier, and gives operators a dynamic “brake” that reacts to real usage.
Initial idea
A filter-stage plugin computes allocation rate per cluster (and per nodeClaim):
sum(pod.requests) / sum(node.allocatable)on schedulable nodes. Any resource over its threshold filters the cluster out. (See #7044 (comment) for real-world practice)Open points
Where should thresholds live long term (external store vs. CRD for native UX/RBAC)? Is the in-memory cache cost acceptable for a huge number of clusters, or should the estimator help?
All reactions