Most service meshes use Envoy as a sidecar proxy but that doesn't seem to be the default option for Linkerd. We are already using Envoy as ingress and don't really want to add a new proxy into the mix. Can we use Linkerd with Envoy?
1
There are 1 best solutions below
Related Questions in LINKERD
- Linkerd2 Service Mesh - Defining opaque ports does not go arround protocol detection issues with custom TCP protocol
- Providing certificates to linkerd and linkerd-viz
- Add deploy name at headers on outbound requests
- Can I use Envoy with Linkerd?
- Dynamic header based routing with fallback
- How do you disable mTLS in linkerd?
- Fixing out of sync warning in Argo CD - Unable to ignore the optional `preserveUnknownFields` field
- How to expose Linkerd dashboard via Ingress
- Canary rollouts with linkerd and argo rollouts
- Linkerd dashboard not working in AWS Cloud9
- Unable to connect GRPC microservice with client - Nest JS Node on k8s
- Kubernetes metrics-server not working with Linkerd
- Disallow queuing of requests in gRPC microservices
- Kubernetes - is Service Mesh a must?
- Request pathway from a linkerd injected deployment to a normal deployment
Related Questions in SERVICEMESH
- Istio 1.4.3 to 1.5.6 upgrade using istioctl and Istio operator
- Consul connect Envoy proxy dynamic port
- How to connect a local service being developed to a hosted service mesh?
- Istio does not forward Authorization header
- Does http2MaxRequests in istio DestinationRules per-pod or per-service?
- istio Multi Primary Routing - How it routes
- Linkerd2 Service Mesh - Defining opaque ports does not go arround protocol detection issues with custom TCP protocol
- Add deploy name at headers on outbound requests
- not able to access api running out of istio service mesh
- Can I use Envoy with Linkerd?
- istio virtual service route destination with context path
- Default Cipher Suites for Istio Ingress-Gateway for Min TLS1.2
- Install Istio using Istio Operator and Terraform on EKS
- consul proxy change health endpoint
- Consul load balancing north south traffic
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I've heard this question asked a few times, and I think there are two questions here:
The answer to the first question is that you can definitely use Linkerd with Envoy as the Ingress controller. Ambassador and Contour are two examples of open source projects that use Envoy as the proxy for routing Ingress traffic.
Integrating Linkerd with any ingress controller requires some configuration that is specific to each of the ingress controllers. You also want to make sure that the Pod that runs the ingress controller container is injected with the Linkerd proxy so that the traffic between the ingress controller and the service workloads is part of the Linkerd service mesh.
The answer to the second question, which is the one that I think you're asking is that Linkerd provides its own proxy out of the box named linkerd2-proxy that is purpose built for managing microservice workloads within Kubernetes. The Linkerd control plane provides API endpoints and is designed to work with the linkerd2-proxy, so Envoy won't work out of the box.
That being said, Linkerd is an open source project and you could theoretically write an adapter between the Linkerd control plane components and the Envoy XSD API. Off the top of my head, I can't think of a common use case where the effort in building this adapter would bring additional value to Linkerd.
There's a great blog post that was written by William Morgan that describes why the Linkerd team decided to write their own proxy instead of using Envoy. The tl;dr is that Envoy is a general purpose proxy, whereas the linkerd2-proxy is purpose built for handling microservices traffic in the most efficient an unobtrusive way possible.