-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Karpenter doesn't completely drain nodes that receive a spot interruption warning when running pods with do-not-evict
annotation
#3383
Comments
Thanks for raising this issue! We'll look into a reproduction and fix soon! |
This is similar to me bug report |
@runningman84 @mrparkers I think our thought here is that if there is an interruption or some action that is going to cause node deletion that can't be stopped, we should ignore the |
@jonathan-innis , does this mean that do-not-evict is only respected in the deprovisioning flow, and not the deletion flow? Does this change the semantic of |
It would be breaking but that may be the intended semantic to begin with. I'm not sure there's much rationale to be |
Yes, I definitely agree with this, and this is exactly the behavior that I was expecting with regards to node deletions that can't be stopped.
I think this is fine - as an administrator, if I'm running
I agree with this too. |
Yes that’s my point |
Version
Karpenter Version:
v0.23.0
Kubernetes Version:
version.Info{Major:"1", Minor:"23+", GitVersion:"v1.23.14-eks-ffeb93d", GitCommit:"96e7d52c98a32f2b296ca7f19dc9346cf79915ba", GitTreeState:"clean", BuildDate:"2022-11-29T18:43:31Z", GoVersion:"go1.17.13", Compiler:"gc", Platform:"linux/amd64"}
Expected Behavior
If a node managed by Karpenter receives a spot interruption warning from AWS, it should completely drain the node of all non-daemonset pods, even if they have the
karpenter.sh/do-not-evict
annotation.The behavior that I expect is also described in the documentation (emphasis mine):
Actual Behavior
I've observed that Karpenter refuses to completely drain a node that receives a spot interruption warning (more details in logs).
Steps to Reproduce the Problem
do-not-evict
annotation on a karpenter-managed spot instance.Resource Specs and Logs
Workload names have been changed.
Node events:
karpenter logs:
I don't believe that provisioner specs or pod specs are required to debug this, but I can provide them if necessary.
Community Note
The text was updated successfully, but these errors were encountered: