-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
explain Available condition behavior in deployment concepts #39892
explain Available condition behavior in deployment concepts #39892
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
`type: Available` with `status: "True"` means that your Deployment is healthy and has a minimum availability (`.status.availableReplicas` is at least equal to `.spec.replicas - maxUnavailable`). | ||
`maxUnavailable` is computed according to the deployment strategy: | ||
- For the `RollingUpdate` strategy, it is a resolved value of `.spec.strategy.rollingUpdate.maxUnavailable`. | ||
- For the `Recreate` strategy, it is always equal to 100% of the replicas that we allow to be down, so that new rollouts can proceed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This counts with a change proposed in kubernetes/kubernetes#113228. Currently it is 0.
✅ Pull request preview available for checkingBuilt without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site settings. |
The `Available` condition is designed to support rollouts first. If `maxUnavailable` is equal to `.spec.replicas`, | ||
then this condition will never become `status: "False"`, even if no pods are running. | ||
In this case you should check `.status.availableReplicas` to be sure that at least 1 pod is present. | ||
It is recommended to have the number of `.spec.replicas` higher than `maxUnavailable`, to have always some pods available during a rollout. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good description!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. I suppose we will wait with this PR until we are all satisfied with the changes in kubernetes/kubernetes#113228
@dims I think kubernetes/kubernetes#113228 if we want to change the |
Or we could publish the documentation without mentioning the |
I would prefer to get the update to the strategy - I think we made the case in 113228 that we should be consistent and the current behavior provides no value for end users on recreate (they can only be wrong). |
👋 @atiratree . |
/hold |
Hello @atiratree . |
@smarterclayton would you have time to revisit kubernetes/kubernetes#113228? Or should I overtake it, or try to wrap this one first? |
Hello @atiratree , please could you advise where we are with these changes? |
1 similar comment
Hello @atiratree , please could you advise where we are with these changes? |
There hasn't been an update in a long while. I will close this PR. /close |
@sftim: Closed this PR. In response to this:
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/test-infra repository. |
We need to come to a consensus how to define an Available condition. This has been already discussed in these places
cc @smarterclayton @soltysh @janetkuo @alculquicondor @ravisantoshgudimetla