Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fine-Grained Scaling Control for DaemonSet/Deployment #129601

Open
unilinu opened this issue Dec 31, 2024 · 4 comments
Open

Fine-Grained Scaling Control for DaemonSet/Deployment #129601

unilinu opened this issue Dec 31, 2024 · 4 comments
Labels
needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/autoscaling Categorizes an issue or PR as relevant to SIG Autoscaling. sig/scalability Categorizes an issue or PR as relevant to SIG Scalability.

Comments

@unilinu
Copy link

unilinu commented Dec 31, 2024

Describe the issue

What would you like to be added?

DaemonSet/Deployment supports controlling strategy for scaling pods similar to RollingUpdate.

Why is this needed?

Currently, DaemonSets and Deployments (via ReplicaSets) offer some level of strategy control for rolling updates, but provide almost nothing for large-range scaling, apart from limiting the request pressure for the API server. As a result, a large number of creating pods will compete simultaneously for the same resources, leading to repeated failures and retries, and very slowly scaling.

In terms of pod scaling for DaemonSets/Deployments, the current solutions are based on various Autoscalers, but using Autoscalers to achieve specific-number scaling goals might also be inconsistent and awkward:
​ • For Deployments, scaling relies on the Horizontal Pod Autoscaler (HPA).
​ • For DaemonSets, scaling, that is node scaling,ctypically using the Cluster Autoscaler with Node Pools/Groups and HorizontalNodeScalingPolicy.
However, Node Pools/Groups depend on cloud provider supporting, unusable in local self-built Kubernetes clusters where manual node scaling via adding/removing labels/taints is common.

Additionally, the rolling update strategy for DaemonSets/Deployments is not flexible. It only supports a single fixed updating rate, whereas production environments often require a phased updating strategy of starting slowly and accelerating later.

Support Request also: English Version 中文版本

@k8s-ci-robot k8s-ci-robot added sig/scalability Categorizes an issue or PR as relevant to SIG Scalability. sig/autoscaling Categorizes an issue or PR as relevant to SIG Autoscaling. sig/apps Categorizes an issue or PR as relevant to SIG Apps. labels Dec 31, 2024
@unilinu
Copy link
Author

unilinu commented Dec 31, 2024

/sig scalability
/sig autoscaling
/sig apps

@unilinu
Copy link
Author

unilinu commented Dec 31, 2024

Is there anybody? Help wanted! If someone evaluates it, I can submit a PR by myself. @mikedanese @damemi @mqliang @joelsmith @janetkuo @deads2k @249043822

@sftim
Copy link
Contributor

sftim commented Jan 13, 2025

This sounds like a Kubernetes feature request.

/transfer kubernetes

@k8s-ci-robot k8s-ci-robot transferred this issue from kubernetes/community Jan 13, 2025
@github-project-automation github-project-automation bot moved this to Needs Triage in SIG Apps Jan 13, 2025
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jan 13, 2025
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If a SIG or subproject determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/autoscaling Categorizes an issue or PR as relevant to SIG Autoscaling. sig/scalability Categorizes an issue or PR as relevant to SIG Scalability.
Projects
Status: Needs Triage
Development

No branches or pull requests

3 participants