-
Notifications
You must be signed in to change notification settings - Fork 360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IPv6 dual-stack not working on IPv6 first clusters due to IPv4 fixed listeners #4565
Comments
thanks for testing this out @alessiodionisi ! we'll get this resolved by v1.2.0 |
ptal @juwon8891 |
Quick update: I've switched to apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyProxy
...
spec:
ipFamily: DualStack
bootstrap:
value: |
yaml content below Default values with admin:
accessLog:
- name: envoy.access_loggers.file
typedConfig:
"@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog
path: /dev/null
address:
socketAddress:
address: ::1
portValue: 19000
dynamicResources:
adsConfig:
apiType: DELTA_GRPC
grpcServices:
- envoyGrpc:
clusterName: xds_cluster
setNodeOnFirstMessageOnly: true
transportApiVersion: V3
cdsConfig:
ads: {}
resourceApiVersion: V3
ldsConfig:
ads: {}
resourceApiVersion: V3
layeredRuntime:
layers:
- name: global_config
staticLayer:
envoy.restart_features.use_eds_cache_for_ads: true
re2.max_program_size.error_level: 4294967295
re2.max_program_size.warn_level: 1000
overloadManager:
refreshInterval: 0.250s
resourceMonitors:
- name: envoy.resource_monitors.global_downstream_max_connections
typedConfig:
"@type": type.googleapis.com/envoy.extensions.resource_monitors.downstream_connections.v3.DownstreamConnectionsConfig
maxActiveDownstreamConnections: "50000"
staticResources:
clusters:
- connectTimeout: 0.250s
loadAssignment:
clusterName: prometheus_stats
endpoints:
- lbEndpoints:
- endpoint:
address:
socketAddress:
address: ::1
portValue: 19000
name: prometheus_stats
type: STATIC
- connectTimeout: 10s
loadAssignment:
clusterName: xds_cluster
endpoints:
- lbEndpoints:
- endpoint:
address:
socketAddress:
address: envoy-gateway
portValue: 18000
loadBalancingWeight: 1
loadBalancingWeight: 1
name: xds_cluster
transportSocket:
name: envoy.transport_sockets.tls
typedConfig:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
commonTlsContext:
tlsCertificateSdsSecretConfigs:
- name: xds_certificate
sdsConfig:
pathConfigSource:
path: /sds/xds-certificate.json
resourceApiVersion: V3
tlsParams:
tlsMaximumProtocolVersion: TLSv1_3
validationContextSdsSecretConfig:
name: xds_trusted_ca
sdsConfig:
pathConfigSource:
path: /sds/xds-trusted-ca.json
resourceApiVersion: V3
type: STRICT_DNS
typedExtensionProtocolOptions:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
"@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
explicitHttpConfig:
http2ProtocolOptions:
connectionKeepalive:
interval: 30s
timeout: 5s
- connectTimeout: 10s
loadAssignment:
clusterName: wasm_cluster
endpoints:
- lbEndpoints:
- endpoint:
address:
socketAddress:
address: envoy-gateway
portValue: 18002
loadBalancingWeight: 1
loadBalancingWeight: 1
name: wasm_cluster
transportSocket:
name: envoy.transport_sockets.tls
typedConfig:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
commonTlsContext:
tlsCertificateSdsSecretConfigs:
- name: xds_certificate
sdsConfig:
pathConfigSource:
path: /sds/xds-certificate.json
resourceApiVersion: V3
tlsParams:
tlsMaximumProtocolVersion: TLSv1_3
validationContextSdsSecretConfig:
name: xds_trusted_ca
sdsConfig:
pathConfigSource:
path: /sds/xds-trusted-ca.json
resourceApiVersion: V3
type: STRICT_DNS
typedExtensionProtocolOptions:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
"@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
explicitHttpConfig:
http2ProtocolOptions: {}
listeners:
- address:
socketAddress:
address: "::"
portValue: 19001
filterChains:
- filters:
- name: envoy.filters.network.http_connection_manager
typedConfig:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
httpFilters:
- name: envoy.filters.http.health_check
typedConfig:
"@type": type.googleapis.com/envoy.extensions.filters.http.health_check.v3.HealthCheck
headers:
- name: :path
stringMatch:
exact: /ready
passThroughMode: false
- name: envoy.filters.http.router
typedConfig:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
routeConfig:
name: local_route
virtualHosts:
- domains:
- "*"
name: prometheus_stats
routes:
- match:
prefix: /stats/prometheus
route:
cluster: prometheus_stats
statPrefix: eg-ready-http
name: envoy-gateway-proxy-ready-0.0.0.0-19001 |
#4550 will fix some cases, but I'm stucked with some users case. |
Relates to envoyproxy#4565 Signed-off-by: Arko Dasgupta <[email protected]>
This issue has been automatically marked as stale because it has not had activity in the last 30 days. |
@arkodg I think this's fixed now? |
Yeah should be fixed in v1.2.3 |
Description:
I'm testing the latest release (v1.2.0-rc.1) that adds IPv6 and dual-stack support to Envoy Gateway. On my IPv6-first cluster the pods created for the gateway resource fail the startup probe because, by default, the listener is listening only on IPv4 instead of IPv6 or all interfaces.
gateway/internal/xds/bootstrap/bootstrap.go
Line 29 in 19eb5f5
gateway/internal/xds/bootstrap/bootstrap.go
Line 42 in 19eb5f5
These IPs are not customizable and are used directly in the
bootstrap.yaml.tpl
template, example:gateway/internal/xds/bootstrap/bootstrap.yaml.tpl
Line 68 in 19eb5f5
Repro steps:
Environment:
Logs:
The text was updated successfully, but these errors were encountered: