-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update Gateway docs and fix styles (#518)
* Update Gateway resource docs and fix markdown styles
- Loading branch information
Doyoon Kim
authored
Nov 17, 2023
1 parent
42cbb61
commit 61689bc
Showing
10 changed files
with
104 additions
and
32 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,71 @@ | ||
# Gateway API Reference | ||
|
||
## Introduction | ||
|
||
`Gateway` allows you to configure network traffic through AWS Gateway API Controller. | ||
When a Gateway is defined with `amazon-vpc-lattice` GatewayClass, the controller will watch for the gateway | ||
and the resources under them, creating required resources under Amazon VPC Lattice. | ||
|
||
Internally, a Gateway points to a VPC Lattice [service network](https://docs.aws.amazon.com/vpc-lattice/latest/ug/service-networks.html). | ||
Service networks are identified by Gateway name (without namespace) - for example, a Gateway named `my-gateway` | ||
will point to a VPC Lattice service network `my-gateway`. If multiple Gateways share the same name, all of them | ||
will point to the same service network. | ||
|
||
VPC Lattice service networks must be managed separately, as it is a broader concept that can cover resources | ||
outside the Kubernetes cluster. To create and manage a service network, you can either: | ||
|
||
- Specify `DEFAULT_SERVICE_NETWORK` configuration option on the controller. This will make the controller | ||
to create a service network with such name, and associate the cluster VPC to it for you. This is suitable | ||
for simple use cases with single service network. | ||
- Manage service networks outside the cluster, using AWS Console, CDK, CloudFormation, etc. This is recommended | ||
for more advanced use cases that cover multiple clusters and VPCs. | ||
|
||
Gateways with `amazon-vpc-lattice` GatewayClass do not create a single entrypoint to bind Listeners and Routes | ||
under them. Instead, each Route will have its own domain name assigned. To see an example of how domain names | ||
are assigned, please refer to our [Getting Started Guide](../guides/getstarted.md). | ||
|
||
### Supported GatewayClass | ||
- `amazon-vpc-lattice` | ||
This is the default GatewayClass for managing traffic using Amazon VPC Lattice. | ||
|
||
### Limitations | ||
- GatewayAddress status does not represent all accessible endpoints belong to a Gateway. | ||
Instead, you should check annotations of each Route. | ||
- Only `Terminate` is supported for TLS mode. TLSRoute is currently not supported. | ||
- TLS certificate cannot be provided through `certificateRefs` field by `Secret` resource. | ||
Instead, you can create an ACM certificate and put its ARN to the `options` field. | ||
|
||
## Example Configuration | ||
|
||
Here is a sample configuration that demonstrates how to set up a `Gateway`: | ||
|
||
```yaml | ||
apiVersion: gateway.networking.k8s.io/v1beta1 | ||
kind: Gateway | ||
metadata: | ||
name: my-hotel | ||
spec: | ||
gatewayClassName: amazon-vpc-lattice | ||
listeners: | ||
- name: http | ||
protocol: HTTP | ||
port: 80 | ||
- name: https | ||
protocol: HTTPS | ||
port: 443 | ||
tls: | ||
mode: Terminate | ||
certificateRefs: | ||
- name: unused | ||
options: | ||
application-networking.k8s.aws/certificate-arn: <certificate-arn> | ||
``` | ||
The created Gateway will point to a VPC Lattice service network named `my-hotel`. Routes under this Gateway can have | ||
either `http` or `https` listener as a parent based on their desired protocol to use. | ||
|
||
--- | ||
|
||
This `Gateway` documentation provides a detailed introduction, feature set, and a basic example of how to configure | ||
and use the resource within AWS Gateway API Controller project. For in-depth details and specifications, you can refer to the | ||
official [Gateway API documentation](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.Gateway). |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,16 @@ | ||
# Frequently Asked Questions (FAQ) | ||
|
||
* **Q: How can I get involved with AWS Gateway API Controller?** | ||
|
||
- **Q: How can I get involved with AWS Gateway API Controller?** | ||
A: We welcome general feedback, questions, feature requests, or bug reports by creating a [Github issue](https://github.com/aws/aws-application-networking-k8s/issues/new). | ||
|
||
|
||
* **Q: Where can I find AWS Gateway API Controller releases?** | ||
|
||
- **Q: Where can I find AWS Gateway API Controller releases?** | ||
A: AWS Gateway API Controller releases are tags of the Github repository. The [Github releases page](https://github.com/aws/aws-application-networking-k8s/releases) shows all the releases. | ||
|
||
|
||
* **Q: Which EKS CNI versions are supported?** | ||
|
||
- **Q: Which EKS CNI versions are supported?** | ||
A: Your AWS VPC CNI must be v1.8.0 or later to work with VPC Lattice. | ||
|
||
|
||
* **Q: Which versions of Gateway API are supported?** | ||
|
||
- **Q: Which versions of Gateway API are supported?** | ||
A: AWS Gateway API Controller supports Gateway API CRD bundle versions between v0.6.1 and v1.0.0. | ||
The controller does not reject other versions, but will provide "best effort support" to it. | ||
Not all features of Gateway API are supported - for detailed features and limitation, please refer to individual API references. | ||
|
||
Not all features of Gateway API are supported - for detailed features and limitation, please refer to individual API references. | ||
By default, Gateway API v0.6.1 CRD bundle is included in the helm chart. |
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