Topology-Aware Service Routing on Kubernetes with Linkerd
linkerd.io
linkerd.io
The problem is that a pod has no easy way to know what topology it is in to make the choice to go to myservice-eu-west1a. The feature for getting topology labels through the downward api is not there! A pod has no idea where its scheduled!
The only way to find out is to ask the kubernetes api, but this requires rbac, a client, libraries etc.. unacceptable! Guess what linkerd does for you?
I am glad for the feature linkerd offers as it solves a problem and I can see the benefit of perhaps doing latency based routing as well on top of this.
It just ticks me off we need something complex to do something simple: keep workloads to their own zone depending on where they are.
I would argue this is a good thing. All of the this automatic routing and failovers should be transparent to business logic developers. You shouldn't need to include K8s apis inside your main container.
Fyi: that is not exactly correct if you have access to alpha features and on >1.17 - https://kubernetes.io/docs/concepts/services-networking/serv...
https://github.com/cilium/cilium/issues/9708#issuecomment-67...
In the meantime, Linkerd has you covered if you want to use Service Topologies in Kubernetes. Oh, and you can get mTLS and metrics at the same time. Cool.
From the link you've sent it looks like they were trying to come up with a new KEP. Very curious to see where that will go. Either way, if they change the current API it's just one more reason for me to get a few PRs into the linkerd control plane.