-
Notifications
You must be signed in to change notification settings - Fork 214
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Hints -> Routing, vet for correctness, and note that we don't do the …
…new trafficDistribution feature Signed-off-by: Flynn <[email protected]>
- Loading branch information
Showing
18 changed files
with
492 additions
and
366 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
47 changes: 47 additions & 0 deletions
47
linkerd.io/content/2.12/features/topology-aware-routing.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
--- | ||
title: Topology Aware Routing | ||
description: |- | ||
Linkerd's implementation of Kubernetes topology aware routing enables endpoint consumption based on a node's zone label. | ||
--- | ||
|
||
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][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. | ||
|
||
To get started with topology aware routing take a look at the [enabling | ||
topology aware routing](../../tasks/enabling-topology-aware-routing/) task | ||
documentation. | ||
|
||
[topology aware routing]: | ||
https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/ | ||
|
||
{{< note >}} | ||
|
||
Topology aware routing requires that the cluster have the `TopologyAwareHints` | ||
feature gate enabled (which is the default starting with Kubernetes 1.24), and | ||
that Linkerd's `endpointSlice` feature be turned on (this is the default | ||
starting with Linkerd stable-2.12). | ||
|
||
{{< /note >}} | ||
|
||
{{< note >}} | ||
|
||
Starting in Kubernetes 1.31, Kubernetes also has the `trafficDistribution` | ||
feature available as an alternative to topology aware routing. | ||
`trafficDistribution` is not yet supported by Linkerd. | ||
|
||
{{< /note >}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
47 changes: 47 additions & 0 deletions
47
linkerd.io/content/2.13/features/topology-aware-routing.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
--- | ||
title: Topology Aware Routing | ||
description: |- | ||
Linkerd's implementation of Kubernetes topology aware routing enables endpoint consumption based on a node's zone label. | ||
--- | ||
|
||
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][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. | ||
|
||
To get started with topology aware routing take a look at the [enabling | ||
topology aware routing](../../tasks/enabling-topology-aware-routing/) task | ||
documentation. | ||
|
||
[topology aware routing]: | ||
https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/ | ||
|
||
{{< note >}} | ||
|
||
Topology aware routing requires that the cluster have the `TopologyAwareHints` | ||
feature gate enabled (which is the default starting with Kubernetes 1.24), and | ||
that Linkerd's `endpointSlice` feature be turned on (this is the default | ||
starting with Linkerd stable-2.12). | ||
|
||
{{< /note >}} | ||
|
||
{{< note >}} | ||
|
||
Starting in Kubernetes 1.31, Kubernetes also has the `trafficDistribution` | ||
feature available as an alternative to topology aware routing. | ||
`trafficDistribution` is not yet supported by Linkerd. | ||
|
||
{{< /note >}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.