-
Notifications
You must be signed in to change notification settings - Fork 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
VPA - Pods do not get updated requests/limits #2633
Comments
I have not seen this behaviour reported yet, though there is currently no mechanism to guard against repetitive evictions by updater if the admission controller is not applying recommendations. If the admission controller updates recommendations of pods without reporting errors, but then the created pods have different ones, I would expect that there is another webhook that overrides changes done by VPA. Is this a possible explanation in your setup? The order of Mutating Webhooks installation is unfortunately very important. |
I don't believe another webhook interfered because we have many clusters with the same configuration and has only occurred a few times on different clusters. Unfortunately, since this is a rare occurrence I have not been able to reproduce it. Are there any plans on implementing a safety mechanism to prevent repetitive evictions if the recommendations are not applied? |
Hm, tricky. When this happens is it a permanent state until you redeploy the admission controller? If you run into this again, it would be really helpful to try and root cause it. Yeah, implementing the safety mechanism is definitely on the list, though we are not working on it right now. Let me file an issue. |
Thanks for opening another issue for the safety mechanism.
Yes, the resources of the pod spec cannot be changed via webhook until the |
@bskiba the issue came up again on a different cluster and I was able to find the root cause. Somehow the mutating webhook got deleted (presumably by a person). Maybe it would make sense for the admission controller to check if the webhook exists and if it doesn't then it will recreate the webhook. |
Thanks for root-causing this. My gut feeling is that maybe reinstalling webhook every time it is deleted might not be desirable, but I would like to include this case in the safety mechanism. So if this happens the infinite update loop does not happen (i.e. updater stops evicting pods). WDYT? |
Since the root-cause has been handled, I'd like to close this in favour of #2738 |
@bskiba: Closing this issue. 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. |
I've noticed that sometimes a cluster gets into a state where the
vpa-updater
is constantly killing pods because the requests/limits are not being updated. According to the logs of thevpa-admission-controller
the pods should be updated:However the pod is not updated with the new requests. Deleting the
vpa-admission-controller
solves the problem presumably because thevpa-webhook
endpoint is reconciled.Is this behavior known and can it be prevented? I'm running version
0.6.3
The text was updated successfully, but these errors were encountered: