mirror of https://github.com/hashicorp/consul
Merge pull request #13999 from hashicorp/docs/improve-dns-lookup-variable-consistency
docs: improve consistency of DNS lookup variablespull/14311/head
commit
eb645453d6
|
@ -52,7 +52,7 @@ There are fundamentally two types of queries: node lookups and service lookups.
|
|||
A node lookup, a simple query for the address of a named node, looks like this:
|
||||
|
||||
```text
|
||||
<node>.node[.datacenter].<domain>
|
||||
<node>.node[.<datacenter>].<domain>
|
||||
```
|
||||
|
||||
For example, if we have a `foo` node with default settings, we could
|
||||
|
@ -121,7 +121,7 @@ it is recommended to use the HTTP API to retrieve the list of nodes.
|
|||
The format of a standard service lookup is:
|
||||
|
||||
```text
|
||||
[tag.]<service>.service[.datacenter].<domain>
|
||||
[<tag>.]<service>.service[.<datacenter>].<domain>
|
||||
```
|
||||
|
||||
The `tag` is optional, and, as with node lookups, the `datacenter` is as
|
||||
|
@ -168,15 +168,26 @@ foobar.node.dc1.consul. 0 IN A 10.1.10.12
|
|||
|
||||
### RFC 2782 Lookup
|
||||
|
||||
The format for RFC 2782 SRV lookups is:
|
||||
Valid formats for RFC 2782 SRV lookups depend on
|
||||
whether you want to filter results based on a service tag:
|
||||
|
||||
_<service>._<protocol>[.service][.datacenter][.domain]
|
||||
- No filtering on service tag
|
||||
|
||||
Per [RFC 2782](https://tools.ietf.org/html/rfc2782), SRV queries should use
|
||||
underscores, `_`, as a prefix to the `service` and `protocol` values in a query to
|
||||
prevent DNS collisions. The `protocol` value can be any of the tags for a
|
||||
service. If the service has no tags, `tcp` should be used. If `tcp`
|
||||
is specified as the protocol, the query will not perform any tag filtering.
|
||||
```text
|
||||
_<service>._tcp[.service][.<datacenter>].<domain>
|
||||
```
|
||||
|
||||
- Filtering on service tag specified in the RFC 2782 protocol field
|
||||
|
||||
```text
|
||||
_<service>._<tag>[.service][.<datacenter>].<domain>
|
||||
```
|
||||
|
||||
Per [RFC 2782](https://tools.ietf.org/html/rfc2782), SRV queries must
|
||||
prepend an underscore (`_`) to the `service` and `protocol` values in a query to
|
||||
prevent DNS collisions.
|
||||
To perform no tag-based filtering, specify `tcp` in the RFC 2782 protocol field.
|
||||
To filter results on a service tag, specify the tag in the RFC 2782 protocol field.
|
||||
|
||||
Other than the query format and default `tcp` protocol/tag value, the behavior
|
||||
of the RFC style lookup is the same as the standard style of lookup.
|
||||
|
@ -328,7 +339,7 @@ $ echo -n "20010db800010002cafe000000001337" | perl -ne 'printf join(":", unpack
|
|||
The format of a prepared query lookup is:
|
||||
|
||||
```text
|
||||
<query or name>.query[.datacenter].<domain>
|
||||
<query or name>.query[.<datacenter>].<domain>
|
||||
```
|
||||
|
||||
The `datacenter` is optional, and if not provided, the datacenter of this Consul
|
||||
|
@ -376,7 +387,7 @@ If you need more complex behavior, please use the
|
|||
To find the unique virtual IP allocated for a service:
|
||||
|
||||
```text
|
||||
<service>.virtual[.peer].<domain>
|
||||
<service>.virtual[.<peer>].<domain>
|
||||
```
|
||||
|
||||
This will return the unique virtual IP for any [Connect-capable](/docs/connect)
|
||||
|
@ -479,7 +490,7 @@ resolve services within the `default` namespace and partition. However, for reso
|
|||
services from other namespaces or partitions the following form can be used:
|
||||
|
||||
```text
|
||||
[tag.]<service>.service.<namespace>.ns.<partition>.ap.<datacenter>.dc.<domain>
|
||||
[<tag>.]<service>.service.<namespace>.ns.<partition>.ap.<datacenter>.dc.<domain>
|
||||
```
|
||||
|
||||
This sequence is the canonical naming convention of a Consul Enterprise service. At least two of the following
|
||||
|
@ -491,14 +502,14 @@ fields must be present:
|
|||
For imported lookups, only the namespace and peer need to be specified as the partition can be inferred from the peering:
|
||||
|
||||
```text
|
||||
<service>.virtual[.namespace][.peer].<domain>
|
||||
<service>.virtual[.<namespace>].<peer>.<domain>
|
||||
```
|
||||
|
||||
For node lookups, only the partition and datacenter need to be specified as nodes cannot be
|
||||
namespaced.
|
||||
|
||||
```text
|
||||
[tag.]<node>.node.<partition>.ap.<datacenter>.dc.<domain>
|
||||
[<tag>.]<node>.node.<partition>.ap.<datacenter>.dc.<domain>
|
||||
```
|
||||
|
||||
## DNS with ACLs
|
||||
|
|
Loading…
Reference in New Issue