kops/dns-controller
Peter Rifel ff85ca54bf Enable stamping on bazel image builds
Currently the images have a timestamp of epoch 0:

```
$ docker inspect kope/kops-controller:1.18.0-alpha.2 -f '{{ .Created }}'
1970-01-01T00:00:00Z
```

The `container_image` bazel rule [0] mentions that `creation_time` has a default value of 0 unless `stamp = True`, so this should be enabled on all container_image rules that are pushed to a docker registry.

[0] https://github.com/bazelbuild/rules_docker#container_image-1
2020-04-03 09:08:16 -05:00
..
cmd/dns-controller Enable stamping on bazel image builds 2020-04-03 09:08:16 -05:00
docs fixing up the line length 2017-06-08 11:00:33 +01:00
pkg Update copyright notices 2019-09-09 14:47:51 -04: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.