Merge pull request #14769 from hashicorp/docs/consul-on-windows-vms
docs: Consul on Windows VMs Envoy bootstrapping
This commit is contained in:
commit
1761c31fab
|
@ -112,7 +112,7 @@ Envoy requires an initial bootstrap configuration file. The easiest way to
|
||||||
create this is using the [`consul connect envoy`
|
create this is using the [`consul connect envoy`
|
||||||
command](/commands/connect/envoy). The command can either output the
|
command](/commands/connect/envoy). The command can either output the
|
||||||
bootstrap configuration directly to stdout, or generate the configuration and issue an `exec` command
|
bootstrap configuration directly to stdout, or generate the configuration and issue an `exec` command
|
||||||
to the Envoy binary as a convenience wrapper.
|
to the Envoy binary as a convenience wrapper. For more information about using `exec` to bootstrap Envoy, refer to [Exec Security Details](/consul/commands/connect/envoy#exec-security-details).
|
||||||
|
|
||||||
Because some Envoy configuration options, such as metrics and tracing sinks, can only be
|
Because some Envoy configuration options, such as metrics and tracing sinks, can only be
|
||||||
specified via the bootstrap configuration, Connect as of Consul 1.5.0 adds
|
specified via the bootstrap configuration, Connect as of Consul 1.5.0 adds
|
||||||
|
@ -174,6 +174,67 @@ definition](/docs/connect/registration/service-registration) or
|
||||||
|
|
||||||
The [Advanced Configuration](#advanced-configuration) section describes additional configurations that allow incremental or complete control over the bootstrap configuration generated.
|
The [Advanced Configuration](#advanced-configuration) section describes additional configurations that allow incremental or complete control over the bootstrap configuration generated.
|
||||||
|
|
||||||
|
### Bootstrap Envoy on Windows VMs
|
||||||
|
|
||||||
|
> Complete the [Connect Services on Windows Workloads to Consul Service Mesh tutorial](https://learn.hashicorp.com/tutorials/consul/consul-on-windows-workloads?utm_source=docs) to learn how to deploy Consul and use its service mesh on Windows VMs.
|
||||||
|
|
||||||
|
If you are running Consul on a Windows VM, attempting to bootstrap Envoy with the `consul connect envoy` command returns the following output:
|
||||||
|
|
||||||
|
```shell-session hideClipboard
|
||||||
|
Directly running Envoy is only supported on linux and macOS since envoy itself doesn't build on other plataforms currently.
|
||||||
|
Use the -bootstrap option to generate the JSON to use when running envoy on a supported OS or via a container or VM.
|
||||||
|
```
|
||||||
|
|
||||||
|
To bootstrap Envoy on Windows VMs, you must generate the bootstrap configuration as a .json file and then manually edit it to add both your ACL token and a valid access log path.
|
||||||
|
|
||||||
|
To generate the bootstrap configuration file, add the `-bootstrap` option to the command and then save the output to a file:
|
||||||
|
|
||||||
|
```shell-session
|
||||||
|
$ consul connect envoy -bootstrap > bootstrap.json
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, open `bootstrap.json` and update the following sections with your ACL token and log path.
|
||||||
|
|
||||||
|
<CodeBlockConfig filename="bootstrap.json" hideClipboard lineNumbers highlight="2,19">
|
||||||
|
|
||||||
|
```json
|
||||||
|
"admin": {
|
||||||
|
"access_log_path": "/dev/null",
|
||||||
|
"address": {
|
||||||
|
"socket_address": {
|
||||||
|
"address": "127.0.0.1",
|
||||||
|
"port_value": 19000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
## ...
|
||||||
|
"dynamic_resources": {
|
||||||
|
## ...
|
||||||
|
"ads_config": {
|
||||||
|
## ...
|
||||||
|
"grpc_services": {
|
||||||
|
"initial_metadata": [
|
||||||
|
{
|
||||||
|
"key": "x-consul-token",
|
||||||
|
"value": "<ACL-Token>"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
## ...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
</CodeBlockConfig>
|
||||||
|
|
||||||
|
To complete the bootstrap process, start Envoy and include the path to `bootstrap.json`:
|
||||||
|
|
||||||
|
```shell-session
|
||||||
|
$ envoy -c bootstrap.json
|
||||||
|
```
|
||||||
|
|
||||||
|
~> **Security Note**: The bootstrap JSON contains the ACL token and should be handled as a secret. Because this token authorizes the identity of any service it has `service:write` permissions for, it can be used to access upstream services.
|
||||||
|
|
||||||
## Dynamic Configuration
|
## Dynamic Configuration
|
||||||
|
|
||||||
Consul automatically generates Envoy's dynamic configuration based on its
|
Consul automatically generates Envoy's dynamic configuration based on its
|
||||||
|
|
Loading…
Reference in New Issue