kubereboot / kured

Kubernetes Reboot Daemon
https://kured.dev
Apache License 2.0
2.12k stars 201 forks source link

feat: add drain delay #852

Closed MerlinDMC closed 7 months ago

MerlinDMC commented 8 months ago

This PR adds a --drain-delay flag. The duration given will delay the node draining process to allow for other controllers in the cluster to complete work.

We are using --pre-reboot-node-labels=node.kubernetes.io/exclude-from-external-load-balancers=true to signal the load balancer controller to start draining connections from the node as it is about to be drained. With the flag added we can delay the draining process to ensure the load balancer controller has enough time to remove the node from active traffic flow before the draining starts.

MerlinDMC commented 8 months ago

any idea why the E2E for 1.27 is failing? is it a transient problem - can we retry the job?

ckotzbauer commented 8 months ago

Sometimes single test-run's are failing. This is unrelated to your changes.

MerlinDMC commented 8 months ago

I've opened two additional PR to add the flag to the configuration properties and parameter docs.

jackfrancis commented 7 months ago

@MerlinDMC FYI I rebased on top of main and force-pushed to attempt to overcome unexplained E2E errors. Will merge when we get a green signal.