Does EKS BottleRocket support graceful node shutdown? #3291
-
I've been working on a way to roll out our EKS nodes gracefully and my first attempt was trying to use K8s native support for node graceful shutdown and avoid using any extra infrastructure or deployments I can see that support for its properties here
I tried setting these to Then run The nodes are supposed to be tainted with I'm using:
Has someone seen this before? I could provide more details from Cloudwatch, Container or OS logs and K8s events |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 7 replies
-
Hey @carlosjgp. Yes, graceful shutdown should work with Bottlerocket. I'm wondering about your configuration here and what could be causing the failed requests. Nginx is not something that would take awhile to shut down, so I'm not sure graceful shutdown settings would even be coming into play here. Stopping an Nginx pod usually happens quite fast, so I wouldn't expect to see the grace period being used for termination. Can you describe your deployment a little more? From what I understand, you have one or more nodes running, with the nginx pods running on each node. You then attempt to use an auto scaling group to migrate from the previous release of Bottlerocket to the current release. This adds new nodes that join the cluster. Then you should see new nginx pods being scheduled on to the new nodes, and once running the pods on the old nodes being terminated before remove them from the cluster. Can you confirm you have a Service created to expose those pods through a static endpoint? Anything else unusual with your setup (custom scheduler or anything like that)? |
Beta Was this translation helpful? Give feedback.
You're absolutely right @carlosjgp. It looks like Bottlerocket is missing systemd-logind that is needed for this functionality. I've opened #3305 based off of this and will look in to what would need to be done.