How to deal with external TLS services #8896
-
Hello, We are currently running linkerd 2.11.1 (Will be upgrading soon to latest patch version) in our production cluster. The main thing we wanted to achieve with linkerd was mTLS communication between pods, which is working perfectly. There is a configuration to globally increase this connect-timeout, but since it is a global setting, we fear that it will add more latency because we have a lot of "garbage traffic" being blocked by network policies or our enterprise firewall. The only way we see to get around this issue quickly is to add the target ports of these external services to the "outbound-ports-to-ignore" setting. This is tricky because it simply skip entirely the proxies for these calls, preventing us to use other linkerd features in the future. Also, if we were using the same port for calls inside the cluster, they would also be skipped. Ideally, it would be nice to be able to configure this connect-timeout (or other config) based on the external service (IP or DNS) being called, or even based on in-cluster vs out-of-cluster calls. It would let us configure a higher value for service A which we know sometimes take longer to connect to than an in-cluster service. What is the recommended way to deal with external TLS services? Should we configure something for these services (i.e. service profile)? Is skipping the proxy really the only way? Thank you for your help! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi @sebfortier2288! These are good questions. Unfortunately, there isn't any way to configure the connect timeout based on the destination right now. However, you can use the |
Beta Was this translation helpful? Give feedback.
Hi @sebfortier2288!
These are good questions. Unfortunately, there isn't any way to configure the connect timeout based on the destination right now. However, you can use the
config.linkerd.io/proxy-outbound-connect-timeout
annotation to configure the outbound connect timeout differently on specific workloads rather than as a cluster wide setting. This would potentially allow you to set a higher connect timeout on pods which you know talk to these external services. Similarly, theconfig.linkerd.io/skip-outbound-ports
annotation can be used to configure only certain pods to skip the proxy for certain ports.