-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
dns-controller: allow configuring DNS update interval #5759
dns-controller: allow configuring DNS update interval #5759
Conversation
3552c2e
to
39501bc
Compare
39501bc
to
7125287
Compare
/ok-to-test |
I am wondering if this is the way we should go about this problem... @justinsb @chrislovecnm any thoughts? |
This is definitely a workaround and if there's a better solution I'm all for that. AWS R53 docs say Perhaps a better approach is to space requests a bit but I think that would require modification in the R53 AWS provider. |
I think this makes sense- it's fine by me. But why don't we let folks configure the interval AND set it to 30 seconds by default? Is 30 seconds an unreasonably long interval for "normal" circumstances? Rate limiting is a constant problem on AWS, I'd rather be a little bit restrained than try to hammer the API and unexpectedly break things. |
Well, I personally have nothing against 30s by default, but I'm saying this without understanding why it is 5s currently. If 5s was chosen arbitrarily then I see no problem with increasing the delay. |
30 seconds would mean at least a 25 second slow-down on cluster-bring-up (vs 5 seconds), and I bet there's more than one (etcd & apiserver records). I'd rather keep this defaulting to ~ 5 seconds; I certainly agree having a better strategy would be preferable. I think the challenge is that the rate limit isn't easily known, so we instead back-off when we see it. If you have logs you could share that might be helpful (e.g. on slack). I know that we could be smarter about batch-size to try to pack each batch full (i.e. estimate / compute the record size). AFAICT, you haven't exposed the flag in kops itself? I guess that means you are manually setting it; and FYI I think that means that kops will clear the flag it every time we update dns-controller. But that can be a separate PR! /approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: diversario, justinsb The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Given enough DNS records, and with update batching, Route53 will throttle API calls. We set this in our forked DNS controller to 30 seconds to avoid throttling.