This page lists the capabilities of the GatewayClass resources available on Google Kubernetes Engine (GKE) and their supported specifications.
Table legend
For the various tables on this page, the legend for the tables is as follows:
- indicates that the field is supported.
-
-
indicates that the field is not supported. - If GKE supports some values in the field, the table describes what values are supported.
GatewayClass capabilities
The following table lists the distinguishing features of the GatewayClass resources available on GKE.
Architecture
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
GKE Standard: 1.24 and later
GKE 1.24 to 1.27.10, 1.28.4, 1.29.0: 0.7.0
GKE 1.27.10 and later, 1.28.4 and later, 1.29.0 to 1.29.2: 0.8.1
GKE 1.29.3 and later, 1.30.0 to 1.30.2: 1.0.0
GKE 1.30.3-gke.1225000 and later: 1.1.0
gateway.networking.k8s.io/v1beta1
(CRD versions: 0.7.0 and later, including 1.0.0)gateway.networking.k8s.io/v1
(CRD versions: 1.0.0 and later)Multi-cluster Services
Feature | gke-l7-global-external-managed
|
gke-l7-global-external-managed-mc
|
gke-l7-regional-external-managed
|
gke-l7-regional-external-managed-mc
|
gke-l7-rilb
|
gke-l7-rilb-mc
|
gke-l7-gxlb
|
gke-l7-gxlb-mc
|
---|---|---|---|---|---|---|---|---|
Required
|
||||||||
API version
|
net.gke.io/v1
|
net.gke.io/v1
|
net.gke.io/v1
|
net.gke.io/v1
|
||||
Resource type
|
ServiceExport | ServiceExport | ServiceExport | ServiceExport |
Load balancer
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
VPC
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
For more information, see required firewall rules for Gateways.
Gateway IP address
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
Routing and traffic management
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
(Managed by the GKE Gateway controller)
Frontend security
Feature | gke-l7-global-external-managed
|
gke-l7-global-external-managed-mc
|
gke-l7-regional-external-managed
|
gke-l7-regional-external-managed-mc
|
gke-l7-rilb
|
gke-l7-rilb-mc
|
gke-l7-gxlb
|
gke-l7-gxlb-mc
|
---|---|---|---|---|---|---|---|---|
Multiple TLS certificates support
|
||||||||
|
|
|
|
Backend service properties
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
Additional Google Cloud services
Features | gke-l7-global-external-managed
|
gke-l7-global-external-managed-mc
|
gke-l7-regional-external-managed
|
gke-l7-regional-external-managed-mc
|
gke-l7-rilb
|
gke-l7-rilb-mc
|
gke-l7-gxlb
|
gke-l7-gxlb-mc
|
---|---|---|---|---|---|---|---|---|
Supported Gateway API Fields
The following tables list the fields of the Gateway API specification that are supported by GKE.
Gateway
spec.addresses
For more information, see spec.addresses
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
type
NamedAddress
value
spec.listeners
For more information, see spec.listeners
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
protocol
port
name
hostname
tls
allowedRoutes
spec.listeners.tls
For more information, see spec.listeners.tls
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
mode
Terminate
certificateRefs
spec.listeners.tls.options
For more information, see spec.listeners.tls.options
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
GCPTrafficExtension ( Preview )
The following tables list the values of the GCPTrafficExtension
API specification that are supported by GKE.
spec.targetRefs
For more information, see spec.targetRefs
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
group
gateway.networking.k8s.io
kind
Gateway
name
spec.extensionChains.extensions.BackendRef
For more information, see spec.extensionChains.extensions.BackendRef
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
group
(empty)
kind
Service
name
port
spec.extensionChains.extensions.googleAPIServiceName
Fields | gke-l7-global-external-managed
|
gke-l7-global-external-managed-mc
|
gke-l7-regional-external-managed
|
gke-l7-regional-external-managed-mc
|
gke-l7-rilb
|
gke-l7-rilb-mc
|
gke-l7-gxlb
|
gke-l7-gxlb-mc
|
---|---|---|---|---|---|---|---|---|
googleAPIServiceName
|
GCPRoutingExtension ( Preview )
The following tables list the values of the GCPRoutingExtension
API specification that are supported by GKE.
spec.targetRefs
For more information, see spec.targetRefs
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
group
gateway.networking.k8s.io
kind
Gateway
name
spec.extensionChains.extensions.BackendRef
For more information, see spec.extensionChains.extensions.BackendRef
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
group
(empty)
kind
Service
name
port
HTTPRoute
The following tables list the values of the HTTPRoute API specification that are supported by GKE.
spec.parentRefs
For more information, see spec.parentRefs
in the Gateway documentation.
Fields | gke-l7-global-external-managed
|
gke-l7-global-external-managed-mc
|
gke-l7-regional-external-managed
|
gke-l7-regional-external-managed-mc
|
gke-l7-rilb
|
gke-l7-rilb-mc
|
gke-l7-gxlb
|
gke-l7-gxlb-mc
|
---|---|---|---|---|---|---|---|---|
parentRefs.group
|
||||||||
parentRefs.kind
|
||||||||
parentRefs.namespace
|
||||||||
parentRefs.name
|
||||||||
parentRefs.sectionName
|
||||||||
parentRefs.port
|
spec.hostnames
For more information, see spec.hostnames
in the Gateway documentation.
Fields | gke-l7-global-external-managed
|
gke-l7-global-external-managed-mc
|
gke-l7-regional-external-managed
|
gke-l7-regional-external-managed-mc
|
gke-l7-rilb
|
gke-l7-rilb-mc
|
gke-l7-gxlb
|
gke-l7-gxlb-mc
|
---|---|---|---|---|---|---|---|---|
precise, wildcard
|
spec.rules
For more information, see spec.rules
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
path.type
Exact, PathPrefix
path.value
headers.type
Exact
headers.name
headers.value
queryParams
method
spec.rules.backendRefs
For more information, see spec.rules.backendRefs
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
backendRef.group
(empty), gateway.networking.k8s.io, net.gke.io
backendRef.kind
Service
ServiceImport
Service
ServiceImport
Service
ServiceImport
Service
ServiceImport
backendRef.name
backendRef.namespace
backendRef.port
backendRef.weight
backendRef.filters
spec.rules.filters
For more information, see spec.rules.filters
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
type
requestHeaderModifier, responseHeaderModifier, requestMirror, requestRedirect, urlRewrite
requestHeaderModifier.add
requestHeaderModifier.remove
requestHeaderModifier.set
responseHeaderModifier.add
responseHeaderModifier.remove
responseHeaderModifier.set
requestMirror.backendRef
requestRedirect.scheme
HTTP, HTTPS
requestRedirect.hostname
requestRedirect.path
replaceFullPath, replacePrefixMatch
requestRedirect.port
requestRedirect.statusCode
urlRewrite.hostname
urlRewrite.path
replacePrefixMatch
ReferenceGrant
The following tables list the values of the ReferenceGrant API specification that are supported by GKE.
spec.from
For more information, see spec.from
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
group
(empty), gateway.networking.k8s.io, net.gke.io
kind
Gateway, HTTPRoute
namespace
spec.to
For more information, see spec.to
in the Gateway documentation.
gke-l7-global-external-managed
gke-l7-global-external-managed-mc
gke-l7-regional-external-managed
gke-l7-regional-external-managed-mc
gke-l7-rilb
gke-l7-rilb-mc
gke-l7-gxlb
gke-l7-gxlb-mc
group
(empty), gateway.networking.k8s.io, net.gke.io
kind
Secret, Service, ServiceImport
name