mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 01:15:43 +03:00
Without a `LocalServicePort`, Connect services will try to use the mapped port even when delivering traffic locally. A user can override this behavior by pinning the port value in the `service` stanza but this prevents us from using the Consul service name to reach the service. This commits configures the Consul proxy with its `LocalServicePort` and `LocalServiceAddress` fields.
2.7 KiB
2.7 KiB
layout, page_title, sidebar_current, description
| layout | page_title | sidebar_current | description |
|---|---|---|---|
| docs | proxy Stanza - Job Specification | docs-job-specification-proxy | The "proxy" stanza allows specifying options for configuring sidecar proxies used in Consul Connect integration |
proxy Stanza
| Placement |
job -> group -> service -> connect -> sidecar_service -> **proxy**
|
|---|
The proxy stanza allows configuring various options for the sidecar proxy
managed by Nomad for Consul
Connect. It is valid only
within the context of a sidecar_service stanza.
job "countdash" {
datacenters = ["dc1"]
group "api" {
network {
mode = "bridge"
}
service {
name = "count-api"
port = "9001"
connect {
sidecar_service {}
}
}
task "web" {
driver = "docker"
config {
image = "test/test:v1"
}
}
}
}
proxy Parameters
local_service_address(string: "127.0.0.1")- The address the local service binds to. Useful to customize in clusters with mixed Connect and non-Connect services.local_service_port(int:port)- The port the local service binds to. Usually the same as the parent service's port, it is useful to customize in clusters with mixed Connect and non-Connect servicesupstreams(upstreams: nil)- Used to configure details of each upstream service that this sidecar proxy communicates with.config(map: nil)- Proxy configuration that's opaque to Nomad and passed directly to Consul. See Consul Connect's documentation for details.
proxy Examples
The following example is a proxy specification that includes upstreams configuration.
sidecar_service {
proxy {
upstreams {
destination_name = "count-api"
local_bind_port = 8080
}
}
}