Docs discovery typo (#16628)

* docs(discovery): typo

* docs(discovery): EOF and trim lines

---------

Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
This commit is contained in:
Bastien Dronneau 2023-03-14 16:49:48 +01:00 committed by GitHub
parent 6bcb98ea71
commit 0ad653b5bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 16 deletions

View File

@ -5,7 +5,7 @@ description: ->
Learn how to dynamically query the Consul DNS using prepared queries, which enable robust service and node lookups. Learn how to dynamically query the Consul DNS using prepared queries, which enable robust service and node lookups.
--- ---
# Enable dynamic DNS aueries # Enable dynamic DNS queries
This topic describes how to dynamically query the Consul catalog using prepared queries. Prepared queries are configurations that enable you to register a complex service query and execute it on demand. For information about how to perform standard node and service lookups, refer to [Perform Static DNS Queries](/consul/docs/services/discovery/dns-static-lookups). This topic describes how to dynamically query the Consul catalog using prepared queries. Prepared queries are configurations that enable you to register a complex service query and execute it on demand. For information about how to perform standard node and service lookups, refer to [Perform Static DNS Queries](/consul/docs/services/discovery/dns-static-lookups).
@ -20,7 +20,7 @@ If ACLs are enabled, the querying service must present a token linked to permiss
- [Prepared query rules](/consul/docs/security/acl/acl-rules#prepared-query-rules) - [Prepared query rules](/consul/docs/security/acl/acl-rules#prepared-query-rules)
- [Service rules](/consul/docs/security/acl/acl-rules#service-rules) - [Service rules](/consul/docs/security/acl/acl-rules#service-rules)
- [Node rules](/consul/docs/security/acl/acl-rules#node-rules) - [Node rules](/consul/docs/security/acl/acl-rules#node-rules)
## Create prepared queries ## Create prepared queries
Refer to the [prepared query reference](/consul/api-docs/query#create-prepared-query) for usage information. Refer to the [prepared query reference](/consul/api-docs/query#create-prepared-query) for usage information.
@ -41,22 +41,22 @@ Refer to the [prepared query reference](/consul/api-docs/query#create-prepared-q
"Near": "node1", "Near": "node1",
"OnlyPassing": false, "OnlyPassing": false,
"Tags": ["primary", "!experimental"], "Tags": ["primary", "!experimental"],
"NodeMeta": { "NodeMeta": {
"instance_type": "m3.large" "instance_type": "m3.large"
},
"ServiceMeta": {
"environment": "production"
}
}, },
"ServiceMeta": {
"environment": "production"
}
},
"DNS": { "DNS": {
"TTL": "10s" "TTL": "10s"
} }
} }
``` ```
Refer to the [prepared query configuration reference](/consul/api-docs/query#create-prepared-query) for information about all available options. Refer to the [prepared query configuration reference](/consul/api-docs/query#create-prepared-query) for information about all available options.
1. Send the query in a POST request to the [`/query` API endpoint](/consul/api-docs/query). If the request is successful, Consul prints an ID for the prepared query. 1. Send the query in a POST request to the [`/query` API endpoint](/consul/api-docs/query). If the request is successful, Consul prints an ID for the prepared query.
In the following example, the prepared query configuration is stored in the `payload.json` file: In the following example, the prepared query configuration is stored in the `payload.json` file:
@ -64,19 +64,19 @@ Refer to the [prepared query reference](/consul/api-docs/query#create-prepared-q
$ curl --request POST --data @payload.json http://127.0.0.1:8500/v1/query $ curl --request POST --data @payload.json http://127.0.0.1:8500/v1/query
{"ID":"014af5ff-29e6-e972-dcf8-6ee602137127"}% {"ID":"014af5ff-29e6-e972-dcf8-6ee602137127"}%
``` ```
1. To run the query, send a GET request to the endpoint and specify the ID returned from the POST call. 1. To run the query, send a GET request to the endpoint and specify the ID returned from the POST call.
```shell-session ```shell-session
$ curl http://127.0.0.1:8500/v1/query/14af5ff-29e6-e972-dcf8-6ee602137127/execute\?near\=_agent $ curl http://127.0.0.1:8500/v1/query/14af5ff-29e6-e972-dcf8-6ee602137127/execute\?near\=_agent
``` ```
## Execute prepared queries ## Execute prepared queries
You can execute a prepared query using the standard lookup format or the strict RFC 2782 SRV lookup. You can execute a prepared query using the standard lookup format or the strict RFC 2782 SRV lookup.
### Standard lookup ### Standard lookup
Use the following format to execute a prepared query using the standard lookup format: Use the following format to execute a prepared query using the standard lookup format:
``` ```
<query name or id>.query[.<datacenter>].<domain> <query name or id>.query[.<datacenter>].<domain>
``` ```
@ -93,9 +93,9 @@ _<query name or id>._tcp.query[.<datacenter>].<domain>
For additional information about following the RFC 2782 SRV lookup format in Consul, refer to [RFC 2782 Lookup](/consul/docs/services/discovery/dns-static-lookups#rfc-2782-lookup). For general information about the RFC 2782 specification, refer to [A DNS RR for specifying the location of services \(DNS SRV\)](https://tools.ietf.org/html/rfc2782). For additional information about following the RFC 2782 SRV lookup format in Consul, refer to [RFC 2782 Lookup](/consul/docs/services/discovery/dns-static-lookups#rfc-2782-lookup). For general information about the RFC 2782 specification, refer to [A DNS RR for specifying the location of services \(DNS SRV\)](https://tools.ietf.org/html/rfc2782).
### Lookup options ### Lookup options
The `datacenter` subdomain is optional. By default, the lookup queries the datacenter of this Consul agent. The `datacenter` subdomain is optional. By default, the lookup queries the datacenter of this Consul agent.
The `query name` or `id` subdomain is the name or ID of an existing prepared query. The `query name` or `id` subdomain is the name or ID of an existing prepared query.
## Results ## Results
To allow for simple load balancing, Consul returns the set of nodes in random order for each query. Prepared queries support A and SRV records. SRV records provide the port that a service is registered. Consul only serves SRV records if the client specifically requests them. To allow for simple load balancing, Consul returns the set of nodes in random order for each query. Prepared queries support A and SRV records. SRV records provide the port that a service is registered. Consul only serves SRV records if the client specifically requests them.