Replies: 1 comment 5 replies
-
|
We have also tried setting an EnvoyFilter directly targeting the gateways, but this also has no effect apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: gateway-tcp-timeout
namespace: istio-system
spec:
configPatches:
- applyTo: NETWORK_FILTER
match:
context: GATEWAY
listener:
filterChain:
filter:
name: envoy.filters.network.tcp_proxy
patch:
operation: MERGE
value:
name: envoy.filters.network.tcp_proxy
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy
idle_timeout: 30s |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
We are trying to setup a connection to a remote service through an egress gateway, but we have an issue with our cloud gateway that closes the TCP connection silently after 4 min while both the egress gateway and the remote service keep it open; this means that the connection gets reused on subsequent calls, but packets never actually go through since the cloud gateway has already closed it.
Our proposed solution to this issue was to use the connection pool TCP settings of our destination rule to either (or both) send keepalive packets or close the TCP connection before the cloud gateway does it. However, it seems that none of the settings are applied properly. Please find below an example of our e2e configuration (merely a reproduction of our issue actually, targeting my own website).
In this example, the external service (https://snyssen.be) is actually closing the connection after 3 minutes, but I think it still serves as a good example since we have set the destination rule to start sending keepalive packets after 15s and to close the connection after 120s. As you can see in the following TCP dump, no keepalive is ever sent to the external service, and the connection is not closed after 120s.
(Alas the screenshot would not upload, I will try again later. In it you could see TCP packets exchange between the gateway and the remote service, then nothing for 3 minutes, and then the remote service closing the connection.)
The TCP dump is captured at the gateway using ksniff with the following command:
kubectl sniff -n istio-system snyssen-gateway-754c9bc788-g4vs2 -c istio-proxy -p -f "net 81.240.174.125"What we tried:
istioctl versionreportscontrol plane version: 1.24.1_ossm_tp.2is installed; butdata plane version: 1.24.1) it was replicated on my dev machine in Minikube with istio version 1.24.3.Then sniffing packets directly on the sidecar:
kubectl sniff -n investigation-fscloud-2551 network-multitool-84f4768858-9w9qn -c istio-proxy -p -f "net 81.240.174.125"Which unfortunately highlights the same issue.
Beta Was this translation helpful? Give feedback.
All reactions