-
Notifications
You must be signed in to change notification settings - Fork 762
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
[feature request] Make daemonset controller stick to strategy.rollingUpdate.maxUnavailable #1323
Comments
@miklezzzz If remainingUnavailable always is 0, because some nodeToDaemonPod always not ready. Then DaemonSet will block the updating operation. |
@zmberg HI! thanks for the response! |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
@zmberg any news on this PR? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
I'd still like to see an answer here. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
/unstale |
@nabokihms @miklezzzz If the Pod is Not Ready, I think this logic makes more sense as it allows for quick recovery. Are you guys currently having problems because of the scenario with minReadySeconds set? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
What would you like to be added:
At the moment, DaemonSet is allowed to delete more pods than
maxUnavailable
setting if pods fail thepodutil.IsPodAvailable
check. As I understand it was made so for the sake of decreasing the recovery time. At the same time, there is a probability for such circumstances to occur that may result in deleting all the pods of a Daemonset simultaneously. In case of using a Daemonset for scheduling some critical workloads like an Ingress controller's pods, it becomes a problem, as downtime is involved.We use
Openkruise DaemonSet controller
pretty extensively and have already observed such problems.The proposal is to have a way to make the DaemonSet controller strictly obey
maxUnavailable
settings. We ended up applying the following changes in our environment: miklezzzz@ef27767.One really simple example is to have a DaemonSet with
minReadySeconds
set. If we update theDaemonSet
twice in a period of time, smaller than minReadySeconds, the second update will haveDaemonSet controller
delete all the pods at once.There are more examples, but a bit more elaborated.
Why is this needed:
It would allow a user to have finer control over the pace of a DaemonSet's updates.
The text was updated successfully, but these errors were encountered: