You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Initial changes and unit tests
* Added GRPC ServiceExport integration test
* Increase suite timeout to 90 minutes
* Increase suite timeout to 90 minutes
* Update comments
* Commit auto-generated
* Install latest custom CRDs on E2E tests
* Install latest custom CRDs on E2E tests after Gateway API CRDs
Copy file name to clipboardExpand all lines: docs/api-types/service-export.md
+42-9Lines changed: 42 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,21 +12,34 @@ for example, using target groups in the VPC Lattice setup outside Kubernetes.
12
12
Note that ServiceExport is not the implementation of Kubernetes [Multicluster Service APIs](https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/);
13
13
instead AWS Gateway API Controller uses its own version of the resource for the purpose of Gateway API integration.
14
14
15
-
16
-
### Limitations
17
-
* The exported Service can only be used in HTTPRoutes. GRPCRoute is currently not supported.
18
-
* Limited to one ServiceExport per Service. If you need multiple exports representing each port,
19
-
you should create multiple Service-ServiceExport pairs.
20
-
21
-
### Annotations
15
+
### Annotations (Legacy Method)
22
16
23
17
*`application-networking.k8s.aws/port`
24
18
Represents which port of the exported Service will be used.
25
19
When a comma-separated list of ports is provided, the traffic will be distributed to all ports in the list.
20
+
21
+
**Note:** This annotation is supported for backward compatibility. For new deployments, it's recommended to use the `spec.exportedPorts` field instead.
22
+
23
+
## Spec Fields
24
+
25
+
### exportedPorts
26
+
27
+
The `exportedPorts` field allows you to explicitly define which ports of the service should be exported and what route types they should be used with. This is useful when you have a service with multiple ports serving different protocols.
26
28
27
-
## Example Configuration
29
+
Each exported port has the following fields:
30
+
*`port`: The port number to export
31
+
*`routeType`: The type of route this port should be used with. Valid values are:
32
+
*`HTTP`: For HTTP traffic
33
+
*`GRPC`: For gRPC traffic
34
+
*`TLS`: For TLS traffic
28
35
29
-
The following yaml will create a ServiceExport for a Service named `service-1`:
36
+
If `exportedPorts` is not specified, the controller will use the port from the annotation "application-networking.k8s.aws/port" and create HTTP target groups for backward compatibility.
37
+
38
+
## Example Configurations
39
+
40
+
### Legacy Configuration (Using Annotations)
41
+
42
+
The following yaml will create a ServiceExport for a Service named `service-1` using the legacy annotation method:
0 commit comments