Skip to content
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

node-local-dns should support graceful shutdown with the ready plugin #642

Open
jsws opened this issue Aug 8, 2024 · 1 comment
Open

Comments

@jsws
Copy link

jsws commented Aug 8, 2024

We are using node-local-dns with a CiliumLocal Redirect Policy as described here so we need node-local-dns to be able to become Not Ready once it receives a SIGTERM so time is given for the Endpoint to stop receiving traffic and for requests to be directed to kube-dns instead, before the pod is fully terminated. This will allow graceful rollouts of the node-local-dns daemonset.

In #485 it was requested the ready plugin be added to node-local-dns but it was closed on the basis it wouldn't serve any purpose as it would behave the same way as the health plugin. However I believe that's not the case and the ready plugin would allow node-local-dns to gracefully shutdown, since once it receives a SIGTERM the /ready endpoint would start returning 503 which can be used in a Readiness Probe on the pod to determine the pod is shutting down and give time for the Endpoint to be removed when used with the health plugins lameduck setting.
So I am again requesting the ready plugin be added to the plugins list here.

@LeoQuote
Copy link

Hi, I’m currently exploring this option( cilium + nodelocal dns), but I see no reason to use image provided by this project instead of using coredns directly, did you try to use coredns directly? Is there any hidden disadvantages?

I tried to use coredns instead and even drafted a PR for this. Hope that would help you coredns/helm#173

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants