aws / containers-roadmap

This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS).
https://aws.amazon.com/about-aws/whats-new/containers/
Other
5.22k stars 321 forks source link

[EKS] [DNS]: why can't we use route53 in place of coredns. #842

Open rverma-jm opened 4 years ago

rverma-jm commented 4 years ago

Tell us about your request What do you want us to build? Can we replace coredns with route53 (cloudmap) completely?

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? Firstly coredns is an additional dependency for kubernetes. Second service discovery requires additional tooling. Usually to make an internal service accessible I have to create a headless service so that external-dsn creates an A record with all the pod-ips. Since kubernetes service discovery is already using round-robin dns internally, I see why can't we use the same for exposing microservices internally (or even externally through public-ip). With coredns replaces by route53, all the above steps I am assuming are out of box. Even a kubernetes svc is completely routable from anywhere within vpc.

Are you currently working around this issue? External-dns

Additional context While talking to community I couldn't understand how dns resolution from route53 is insecure in comparison to dns resolution from coredns. We have coredns plugins to replicate all entries from route53 to coredns. Wondering if its related to this https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-configure-dnssec.html

tdaniely-dn commented 2 years ago

I think there's some confusion. The coredns kubernetes plugin is what actually does the dns updates.

Without the coredns kubernetes plugin we would need to write another controller that updates route53, which is definitely possible. But that's rewriting a free core component to get basically the same functionality payed.

The process to expose the clusters DNS on the subnet is straight-forward: