Skip to content

Document Route53 and Google DNS troubleshooting #3888

Open
@chrislovecnm

Description

@chrislovecnm

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

Related Issues / Comments / PRs

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions