-
Notifications
You must be signed in to change notification settings - Fork 216
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 does not drain the node before sending shutdown signal #1894
Comments
Can you share the spec of the pod in question? If the pod tolerates Karpenter's termination taint, it's going to be unable to drain it. /triage needs-information |
Are you asking about the karpenter's pod yaml? Please clarify @jmdeal |
Yes |
|
Sorry, was reading from mobile and missed "Karpenter's" in your message. I meant the pod which was evicted, not the Karpenter controller pod. |
Apologies for the confusion. The issue is not about a single pod being evicted. The problem lies with Karpenter's working design. Ideally, Karpenter should handle the draining of the node before sending the shutdown signal to the kubelet. However, as I can observe, the draining process is entirely carried out by the kubelet after Karpenter disrupts the node. You can refer the logs for the same. |
As long as the pod does not tolerate Karpenter's disruption taint, Karpenter will drain the pod before terminating the instance. If you can share the pod spec that you believe should have been drained, we can determine if Karpenter should have acted upon it. |
Here is a pod yaml which wasn't drained before Node Shutdown signal. Attached some logs below too which might be helpful here.
Actually, kubelet logs for the node on which above pod was scheduled has some error while updating node status after getting NodeShutdown signal. Attaching logs for your reference.
Also, Karpenter has also some different logs related to this node:
|
Description
Observed Behavior:
Expected Behavior:
Versions:
kubectl version
): 1.28.12The text was updated successfully, but these errors were encountered: