kops/dns-controller
Justin SB 0cb35638f2
Stop logging to /var/log/kops-controller.log
Writing to a hostPath from a non-root container requires file
ownership changes, which is difficult to roll out today.  See
discussion in #8454

We were primarily using the logfile for e2e diagnostics, so we're
going to look into collecting the information via other means instead.

We also haven't yet shipped this logfile in a released version (though
we have shipped it in beta releases)
2020-02-04 06:41:25 -05:00
..
cmd/dns-controller Stop logging to /var/log/kops-controller.log 2020-02-04 06:41:25 -05:00
docs fixing up the line length 2017-06-08 11:00:33 +01:00
pkg Add code simplifications for staticheck 2019-12-30 17:40:24 +02:00
README.md Typo fix "api server" -> "API server" 2018-11-17 15:13:08 +08:00

README.md

dns-controller

dns-controller creates DNS records.

In the bring-up of a new cluster, protokube has already ensured that we have an etcd cluster and an apiserver. It also sets up DNS records for the etcd nodes (this is a much simpler problem, because we have a 1:1 mapping from an etcd node to a DNS name.)

However, none of the nodes can reach the API server to register. Nor can end-users reach the API. In future we might expose the API server as a normal service via Type=LoadBalancer or via a normal Ingress, but for now we just expose it via DNS.

The dns-controller recognizes annotations on nodes.

  • dns.alpha.kubernetes.io/external will set up records for accessing the resource externally
  • dns.alpha.kubernetes.io/internal will set up records for accessing the resource internally

When added on Service controllers:

  • dns.alpha.kubernetes.io/external creates a Route53 A record with public IPs of all the nodes
  • dns.alpha.kubernetes.io/internal creates a Route53 A record with private IPs of all the nodes

The syntax is a comma separated list of fully qualified domain names.