-
Notifications
You must be signed in to change notification settings - Fork 212
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add top-level HTTPRoute features doc (#1657)
Currently, the website doesn't really have a top-level summary of what the HTTPRoute resource is and what it can do, similar to the ServiceProfiles feature page. I thought this would be useful to add, as it can be used for other documentation to link to, and will also be useful as a place to collect all the documentation on things users can do using HTTPRoutes. In addition, we can also add stuff about GAMMA support and about the difference between `policy.linkerd.io` and `gateway.networking.kubernetes.io` HTTPRoutes here, as well. I've also updated some of the other documentation that mentions the HTTPRoute resource to link to this page.
- Loading branch information
Showing
9 changed files
with
98 additions
and
30 deletions.
There are no files selected for viewing
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,64 @@ | ||
+++ | ||
title = "HTTPRoutes" | ||
description = "Linkerd can use the HTTPRoute resource to configure per-route policies." | ||
aliases = [ | ||
"../httproutes/" | ||
] | ||
+++ | ||
|
||
To configure routing behavior and policy for HTTP traffic, Linkerd supports the | ||
[HTTPRoute resource], defined by the Kubernetes [Gateway API]. | ||
|
||
An HTTPRoute is a Kubernetes resource which attaches to a parent resource, such | ||
as a [Service]. The HTTPRoute defines a set of rules which match HTTP requests | ||
to that resource, based on parameters such as the request's path, method, and | ||
headers, and can configure how requests matching that rule are routed by the | ||
Linkerd service mesh. | ||
|
||
Two types of HTTPRoute are used for configuring the behavior of Linkerd's | ||
proxies: | ||
|
||
- HTTPRoutes with a [Service] as their parent resource configure policies for | ||
_outbound_ proxies in pods which are clients of that [Service]. Outbound | ||
policy includes [dynamic request routing][dyn-routing], adding request | ||
headers, modifying a request's path, and reliability features such as | ||
[timeouts]. | ||
- HTTPRoutes with a [Server] as their parent resource configure policy for | ||
_inbound_ proxies in pods which recieve traffic to that [Server]. Inbound | ||
HTTPRoutes are used to configure fine-grained [per-route authorization and | ||
authentication policies][auth-policy]. | ||
|
||
{{< warning >}} | ||
**Outbound HTTPRoutes and [ServiceProfile](../service-profiles/)s provide | ||
overlapping configuration.** For backwards-compatibility reasons, a | ||
ServiceProfile will take precedence over HTTPRoutes which configure the same | ||
Service. If a ServiceProfile is defined for the parent Service of an HTTPRoute, | ||
proxies will use the ServiceProfile configuration, rather than the HTTPRoute | ||
configuration, as long as the ServiceProfile | ||
exists. | ||
{{< /warning >}} | ||
|
||
To get started with HTTPRoutes, you can: | ||
|
||
<!-- TODO(eliza): add this link once the timeout doc discusses HTTPRoutes... | ||
- [Configure timeouts][timeouts] using an outbound HTTPRoute. | ||
--> | ||
<!-- TODO(eliza): add this link once the fault injection doc discusses | ||
HTTPRoutes... | ||
- [Configure fault injection](../../tasks/fault-injection/) using an outbound | ||
HTTPRoute. | ||
--> | ||
|
||
- [Configure dynamic request routing][dyn-routing] using an outbound HTTPRoute. | ||
- [Configure per-route authorization policy][auth-policy] using an inbound | ||
HTTPRoute. | ||
- See the [reference documentation](../../reference/httproute/) for a complete | ||
description of the HTTPRoute resource. | ||
|
||
[HTTPRoute resource]: https://gateway-api.sigs.k8s.io/api-types/httproute/ | ||
[Gateway API]: https://gateway-api.sigs.k8s.io/ | ||
[Service]: https://kubernetes.io/docs/concepts/services-networking/service/ | ||
[Server]: ../../reference/authorization-policy/#server | ||
[auth-policy]: ../../tasks/configuring-per-route-policy/ | ||
[dyn-routing]:../../tasks/configuring-dynamic-request-routing/ | ||
[timeouts]: ../../tasks/configuring-dynamic-request-routing/ |
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 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 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
2 changes: 1 addition & 1 deletion
2
linkerd.io/content/2-edge/tasks/configuring-per-route-policy.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
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 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 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 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