Topology Aware Routing
Kubernetes clusters are increasingly deployed in multi-zone environments with network traffic often relying on obscure endpoint matching and routing for a given service. Linkerd’s implementation of Kubernetes (Topology Aware Routing) provides users with a mechanism for asserting more control over endpoint selection and routing within a cluster that spans multiple zones. Users can now implement routing constraints and prefer endpoints in a specific zone in order to limit cross-zone networking costs or improve performance through lowered cross-zone latency and bandwidth constraints.
The goal of topology aware routing is to to provide a simpler way for users to
prefer endpoints by basing decisions solely off the node’s
topology.kubernetes.io/zone
label. If a client is in zone-a
, then it
should prefer endpoints marked for use by clients in zone-a
. When the
feature is enabled and the label set, Linkerd’s destination controller will
attempt to find endpoints whose routing.ForZones
field matches the client’s
zone.
(Topology aware routing is distinct from the trafficDistribution
feature
that appears in Kubernetes 1.31. trafficDistribution
is not yet supported by
Linkerd.)
Note
To get started with topology aware routing take a look at the enabling topology aware routing task documentation.