Transparent proxying on linkerd 1.x


#1

I’m new to linkerd ( and service meshes in general).

I was looking at configuring transparent proxying as per this page:

However I noted the line:
“Note that this setup proxies all outbound traffic to a single Linkerd port, so it won’t work if you are using multiple protocols.”

If I’m reading this correctly it means that if a service needs to make a connection on multiple protocols ( e.g another service on http and a DB on tcp) this won’t work?

If so is it just not possible or some other config is needed?


#2

That’s right, if your service makes connections on multiple protocols, you won’t be able to use linkerd-inject with Linkerd 1.x. You have a couple different options:

  • Configure your application to send its HTTP traffic to Linkerd 1.x. This can be done by setting the http_proxy environment variable or by manually changing your service’s config to sent requests directly to Linkerd.

OR

  • Use Linkerd 2.x which can accept traffic of any protocol and does automatic protocol detection.