mirror of
https://github.com/status-im/consul.git
synced 2025-01-11 06:16:08 +00:00
dfab5ade50
When a large number of upstreams are configured on a single envoy proxy, there was a chance that it would timeout when waiting for ClusterLoadAssignments. While this doesn't always immediately cause issues, consul-dataplane instances appear to consistently drop endpoints from their configurations after an xDS connection is re-established (the server dies, random disconnect, etc). This commit adds an `xds_fetch_timeout_ms` config to service registrations so that users can set the value higher for large instances that have many upstreams. The timeout can be disabled by setting a value of `0`. This configuration was introduced to reduce the risk of causing a breaking change for users if there is ever a scenario where endpoints would never be received. Rather than just always blocking indefinitely or for a significantly longer period of time, this config will affect only the service instance associated with it.
76 lines
1.8 KiB
Plaintext
76 lines
1.8 KiB
Plaintext
{
|
|
"nonce": "00000001",
|
|
"resources": [
|
|
{
|
|
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
|
|
"name": "bar",
|
|
"validateClusters": true,
|
|
"virtualHosts": [
|
|
{
|
|
"domains": [
|
|
"*"
|
|
],
|
|
"name": "bar",
|
|
"routes": [
|
|
{
|
|
"match": {
|
|
"prefix": "/"
|
|
},
|
|
"route": {
|
|
"cluster": "exported~bar.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
|
|
"name": "foo",
|
|
"validateClusters": true,
|
|
"virtualHosts": [
|
|
{
|
|
"domains": [
|
|
"*"
|
|
],
|
|
"name": "foo",
|
|
"routes": [
|
|
{
|
|
"match": {
|
|
"prefix": "/"
|
|
},
|
|
"route": {
|
|
"cluster": "exported~foo.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
|
|
"name": "gir",
|
|
"validateClusters": true,
|
|
"virtualHosts": [
|
|
{
|
|
"domains": [
|
|
"*"
|
|
],
|
|
"name": "gir",
|
|
"routes": [
|
|
{
|
|
"match": {
|
|
"prefix": "/"
|
|
},
|
|
"route": {
|
|
"cluster": "exported~gir.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"typeUrl": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
|
|
"versionInfo": "00000001"
|
|
} |