containers-roadmap icon indicating copy to clipboard operation
containers-roadmap copied to clipboard

[EKS addon] [CoreDNS] [request]: Option to enable Topology Aware Routing

Open alt-dima opened this issue 1 year ago • 1 comments

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Tell us about your request Add an option in the EKS Addon CoreDNS config to enable Topology Aware Routing on the coredns service

Which service(s) is this request for? EKS

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard? Trying to enable Topology Aware Routing for the CoreDNS to minimize latency for DNS requests and decrease cross-AZ traffic. We have 3 AZ and about 15 coredns pods (so TAR should work)

Are you currently working around this issue? Manually added service.kubernetes.io/topology-mode annotation to the kube-dns service

Additional context

Attachments

alt-dima avatar Mar 19 '24 08:03 alt-dima

@alt-dima How are you adding the service.kubernetes.io/topology-mode annotation to the kube-dns service?

Nuru avatar May 13 '24 00:05 Nuru

Kyverno policy could be a way to add that annotation, but I would like to not use Kyverno for kube-system NS (AFAIK there are some limitations). EKS Addons should allow customizations like this one.

juan-vg avatar Dec 11 '24 09:12 juan-vg

The latest version of the EKS Add-on for CoreDNS contains a parameter named annotationTopologyMode with possible values of Disabled or Auto (Disabled being the default).

When set to Auto, Topology Aware Routing (docs) will be enabled, helping keep network traffic within the zone where it originated.

When enabled, DNS queries from pods are routed to CoreDNS pods in the same zone. If zone-local CoreDNS is not available, there will be automatic fallback to default behavior. Kubernetes detects zone information from node labels. The service endpoint controller distributes endpoints based on zone topology.

This is available today with EKS add-ons. We are evaluating enabling Auto value by default in the node local CoreDNS shipped with EKS Auto Mode.

mikestef9 avatar Dec 23 '24 17:12 mikestef9