Kubernetes Gateway API ingress gateway
Deploy an ingress gateway using the native Kubernetes Gateway API in ambient mesh.
Create an ingress gateway
-
Create a
Gatewayresource withgatewayClassName: istioso that the Istio control plane creates and manages the gateway.apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: httpbin-gateway spec: gatewayClassName: istio listeners: - name: http port: 80 protocol: HTTP allowedRoutes: namespaces: from: AllBy default, Istio creates a
LoadBalancerservice for the gateway, which causes a load balancer to be provisioned on most cloud providers. Annotations and labels on the Gateway are copied to the generated Service and Deployment, which you can use to set options such as internal load balancers. -
Verify that the gateway is ready and has been assigned an external address.
kubectl get gateway httpbin-gatewayExample output: The
PROGRAMMEDstatus confirms the gateway is ready. TheADDRESSfield is the external IP or hostname you use to route traffic to the gateway.NAME CLASS ADDRESS PROGRAMMED AGE httpbin-gateway istio 34.36.XX.XXX True 60s
Attach routes
Attach route resources to the gateway using parentRefs. Route objects can attach to either gateways or waypoints; for the differences, see the route attachment guide.
Add TLS certificates
To configure TLS for a gateway listener, refer to the Gateway API TLS guide.