plugin/etcd: update documention (#4049)
* plugin/etcd: update documention Make clear(er) how this plugin find records. Fixes: #4048 Signed-off-by: Miek Gieben <miek@miek.nl> * Update plugin/etcd/README.md Co-authored-by: Chris O'Haver <cohaver@infoblox.com> * Update plugin/etcd/README.md Co-authored-by: Chris O'Haver <cohaver@infoblox.com> Co-authored-by: Chris O'Haver <cohaver@infoblox.com>
This commit is contained in:
parent
964b621d32
commit
b9a6dba2cb
1 changed files with 13 additions and 7 deletions
|
@ -8,14 +8,15 @@
|
||||||
|
|
||||||
The *etcd* plugin implements the (older) SkyDNS service discovery service. It is *not* suitable as
|
The *etcd* plugin implements the (older) SkyDNS service discovery service. It is *not* suitable as
|
||||||
a generic DNS zone data plugin. Only a subset of DNS record types are implemented, and subdomains
|
a generic DNS zone data plugin. Only a subset of DNS record types are implemented, and subdomains
|
||||||
and delegations are not handled at all.
|
and delegations are not handled at all. The plugin will also recursively descend the tree and return
|
||||||
|
all records found, see "Special Behavior" below for details.
|
||||||
|
|
||||||
The data in the etcd instance has to be encoded as
|
The data in the etcd instance has to be encoded as
|
||||||
a [message](https://github.com/skynetservices/skydns/blob/2fcff74cdc9f9a7dd64189a447ef27ac354b725f/msg/service.go#L26)
|
a [message](https://github.com/skynetservices/skydns/blob/2fcff74cdc9f9a7dd64189a447ef27ac354b725f/msg/service.go#L26)
|
||||||
like [SkyDNS](https://github.com/skynetservices/skydns). It works just like SkyDNS.
|
like [SkyDNS](https://github.com/skynetservices/skydns). It works just like SkyDNS.
|
||||||
|
|
||||||
The etcd plugin makes extensive use of the *forward* plugin to forward and query other servers in the
|
The *etcd* plugin makes extensive use of the *forward* plugin to forward and query other servers in the
|
||||||
network.
|
network - if that plugin has been enabled as well.
|
||||||
|
|
||||||
## Syntax
|
## Syntax
|
||||||
|
|
||||||
|
@ -28,7 +29,6 @@ etcd [ZONES...]
|
||||||
The path will default to `/skydns` the local etcd3 proxy (http://localhost:2379). If no zones are
|
The path will default to `/skydns` the local etcd3 proxy (http://localhost:2379). If no zones are
|
||||||
specified the block's zone will be used as the zone.
|
specified the block's zone will be used as the zone.
|
||||||
|
|
||||||
If you want to `round robin` A and AAAA responses look at the `loadbalance` plugin.
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
etcd [ZONES...] {
|
etcd [ZONES...] {
|
||||||
|
@ -61,16 +61,18 @@ etcd [ZONES...] {
|
||||||
The *etcd* plugin leverages directory structure to look for related entries. For example
|
The *etcd* plugin leverages directory structure to look for related entries. For example
|
||||||
an entry `/skydns/test/skydns/mx` would have entries like `/skydns/test/skydns/mx/a`,
|
an entry `/skydns/test/skydns/mx` would have entries like `/skydns/test/skydns/mx/a`,
|
||||||
`/skydns/test/skydns/mx/b` and so on. Similarly a directory `/skydns/test/skydns/mx1` will have all
|
`/skydns/test/skydns/mx/b` and so on. Similarly a directory `/skydns/test/skydns/mx1` will have all
|
||||||
`mx1` entries.
|
`mx1` entries. Note this plugin will search through the entire (sub)tree for records. In case of the
|
||||||
|
first example, a query for `mx.skydns.text` will return both the contents of the `a` and `b` records.
|
||||||
|
If the directory extends deeper those records are returned as well.
|
||||||
|
|
||||||
With etcd3, support for [hierarchical keys are
|
With etcd3, support for [hierarchical keys are
|
||||||
dropped](https://coreos.com/etcd/docs/latest/learning/api.html). This means there are no directories
|
dropped](https://coreos.com/etcd/docs/latest/learning/api.html). This means there are no directories
|
||||||
but only flat keys with prefixes in etcd3. To accommodate lookups, etcdv3 plugin now does a lookup
|
but only flat keys with prefixes in etcd3. To accommodate lookups, the *etcd* plugin now does a lookup
|
||||||
on prefix `/skydns/test/skydns/mx/` to search for entries like `/skydns/test/skydns/mx/a` etc, and
|
on prefix `/skydns/test/skydns/mx/` to search for entries like `/skydns/test/skydns/mx/a` etc, and
|
||||||
if there is nothing found on `/skydns/test/skydns/mx/`, it looks for `/skydns/test/skydns/mx` to
|
if there is nothing found on `/skydns/test/skydns/mx/`, it looks for `/skydns/test/skydns/mx` to
|
||||||
find entries like `/skydns/test/skydns/mx1`.
|
find entries like `/skydns/test/skydns/mx1`.
|
||||||
|
|
||||||
This causes two lookups from CoreDNS to etcdv3 in certain cases.
|
This causes two lookups from CoreDNS to etcd in certain cases.
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
|
@ -226,3 +228,7 @@ If you query the zone name for `TXT` now, you will get the following response:
|
||||||
% dig +short skydns.local TXT @localhost
|
% dig +short skydns.local TXT @localhost
|
||||||
"this is a random text message."
|
"this is a random text message."
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
## Also See
|
||||||
|
|
||||||
|
If you want to `round robin` A and AAAA responses look at the *loadbalance* plugin.
|
||||||
|
|
Loading…
Add table
Reference in a new issue