Transparent proxying on linkerd 1.x

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?

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.