A GatewayClass is a cluster-scoped Gateway API resource that identifies the controller responsible for implementing a class of gateways. It defines controller ownership, not traffic patterns or routes. section 6.7
Use GatewayClass to:
- Select the controller with the single required spec.controllerName value, such as example.com/gateway-controller. section 6.7
- Support multiple gateway controllers, such as nginx and Contour, in one cluster by defining separate classes. section 6.7
- Connect a namespaced Gateway through spec.gatewayClassName; configure listeners and routing separately on Gateway and HTTPRoute resources. section 6.7
Create a GatewayClass
Apply a v1 GatewayClass named example-class with controllerName example.com/gateway-controller. The resulting object can be selected by a Gateway using gatewayClassName: example-class. section 6.7
$ cat <<EOF | kubectl apply -f - apiVersion: gateway.networking.k8s.io/v1 kind: GatewayClass metadata: name: example-class spec: controllerName: example.com/gateway-controller EOF gatewayclass.gateway.networking.k8s.io/example-class created
Inspect the complete kubectl manifest and representative creation output for a GatewayClass. section 6.7

