Description
Problem Statement
Configuring DNS correctly can be challenging. Understanding how DNS works with kops is documented, but I think we can get a lot of tribal knowledge documented as well. Also, mention that kops gossip is an option to not use DNS.
Purpose
Document how to diagnosis and troubleshoot DNS configuration with Route53 and Google Cloud DNS.
Components involved
DNS / Cloud
- Domain Registrars
- DNS Providers - Route53 and Google Cloud
kops ecosystem
- kops - creates placeholder DNS entries with the 203 IP address
- protokube - configures etcd DNS records
- dns-controller k8s deployment - configures cluster API endpoint DNS record
Validating Provider setup
End of the day dig ns subdomain.example.com
this has to work. The Route53 or google cloud ids may need to be used with kops.
how kops does DNS
- flags on kops to set domain
- user runs kops and route53 domain entries are created
- master node(s) are created and protokube container is started
- protokube creates dns records for etcd
- once the k8s cluster master(s) are stable dns-controller deployment is started
- dns-controller deployment starts and updates api endpoint DNS record
Diagnosis Tools
- Cloud consoles - Route53 and Google Cloud
- dig
- logs from protokube
- logs from dns-controller
- aws cli
- gcloud cli
kops current documentation
aws tutorial https://github.com/kubernetes/kops/blob/master/docs/aws.md#configure-dns
dns-controller documentation https://github.com/kubernetes/kops/blob/9c1ef822ab9766091491826bcdea162261bc3bdd/dns-controller/README.md
creating a sub-domain
https://github.com/kubernetes/kops/blob/master/docs/creating_subdomain.md
external documentation
- http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingNewSubdomain.html
- https://cloud.google.com/dns/quickstart
- https://cloud.google.com/appengine/docs/standard/python/mapping-custom-domains
- https://aws.amazon.com/route53/faqs/
Related Issues / Comments / PRs
- Automatically configure subdomain for Route53/Route53 case #762 (comment)
- dnscontroller needs better docs #1230
- AWS install does not change from place holder IPs #3273
- Route53 issue #1386
Lastly a PR that got closed
https://github.com/justinsb/kops/blob/a09edc22d6b3a070f828e2e69ac9d4bde0cfe534/docs/tour/dns.md
Gaps
We do not have ANY documentation for google DNS.