KEP-5982: ReplicaSet Consolidation-Aware Scale-In Strategy#6019
KEP-5982: ReplicaSet Consolidation-Aware Scale-In Strategy#6019nathangeology wants to merge 2 commits intokubernetes:masterfrom
Conversation
Placeholder KEP for sig-apps discussion. Adds ConsolidatingScaleDown feature gate to kube-controller-manager that changes the ReplicaSet controller's pod deletion sort order to prefer nodes with fewer active pods during scale-down. Tracking issue: kubernetes#5982
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: nathangeology The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @nathangeology. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
| - "@nathangeology" | ||
| owning-sig: sig-apps | ||
| participating-sigs: | ||
| - sig-autoscaling |
There was a problem hiding this comment.
Does the owning sig need to be in the participating sigs too?
|
|
||
| ## Summary | ||
|
|
||
| Add a `ConsolidatingScaleDown` feature gate to `kube-controller-manager` that changes the ReplicaSet controller's pod deletion sort order during scale-down. When enabled, the controller prefers deleting pods on nodes with fewer total active pods, enabling node autoscalers to reclaim nodes with less disruption. |
There was a problem hiding this comment.
I think this is an interesting option to consider, but it conflicts slightly with kubernetes/kubernetes#80004. This KEP should clarify where the ConsolidatingScaleDown feature will be placed in the sorting/ranking of the pods. We should also explore the consequences of the various sort/rank order options.
There was a problem hiding this comment.
Yeah, this would be an alternate heuristic here. The current one is a good one if you do want to spread out pod replicas, but if someone has dynamic capacity and wants to control their compute costs then this proposed heuristic would be really useful. You could imagine other cases (e.g. load-aware or scheduling constraints aware), but then the question is where the 'brain' for parsing through these competing concerns should live. Once you move beyond a simple heuristic change, you probably don't want to do it in the replicaset controller.
Address review feedback from DerekFrank. This KEP affects node autoscaling (sig-autoscaling, sig-node) and pod scheduling behavior (sig-scheduling) in addition to the owning sig-apps.
Provisional KEP for adding a consolidation-aware pod deletion heuristic to the ReplicaSet controller.
Tracking issue: #5982
/sig apps