Trivial doc tidying.

I pulled the command line options out of the source and into this doc to
save other people the trouble of digging into the source. Hope nobody
minds!
This commit is contained in:
Robin Kearney 2017-06-06 09:16:04 +01:00
parent 0b7ed89cb9
commit 28e6a4b776
2 changed files with 20 additions and 12 deletions

View File

@ -1,22 +1,19 @@
dns-controller creates DNS records
# dns-controller
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.)
dns-controller creates DNS records.
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.
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
* `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
* `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.

View File

@ -1,3 +1,14 @@
# Command line options
The `dns-controller` executable takes the following command line options:
* `--dns` - DNS provider we should use. Valid options are: `aws-route53`, `google-clouddns` or `coredns`.
* `--gossip-listen` - The address on which to listen if gossip is enabled.
* `--gossip-seed` - If set, will enable gossip zones and seed using the provided address.
* `--gossip-secret` - Secret to use to secure the gossip protocol.
* `--zone` - Configure permitted zones and their mappings. See further notes below.
* `--watch-ingress` - Watch for DNS records in `ingress` resources in addition to `service` resources.
## zone
Pass a list of zones to determine which names can be updated. Zones not permitted will be ignored