pull/14153/head
Sarah Alsmiller 2 years ago
parent b69c3fb410
commit e551ac878f

@ -29,27 +29,27 @@ Specify the following parameters to declare a Gateway:
## Configuration model
* (`gatewayClassName`)[###gatewayClassName]: string | required
* (`listeners`)[###listeners]: array of objects | required
* (`allowedRoutes`)[###listeners.allowedRoutes]: object | required
* (`namespaces`}[###listeners.namespaces]: object | required
* (`from`)[###listeners.namespaces.from]: string | required
* (`selector`)[###listeners.namespaces.selector]: object | required if from is configured to selector
* (`matchExpressions`)[###listeners.namespaces.selector.matchExpressions]: array of objects | required if matchLabels is not configured
* (`key`)[###listeners.namespaces.selector.matchExpressions.key]: string | required if matchExpressions is declared
* (`operator`)[###listeners.namespaces.selector.operator]: string | required if matchExpressions is declared
* (`values`)[###listeners.namespaces.selector.values]: array of strings | required if matchExpressions is declared
* (`matchLabels`)[###listeners.namespaces.selector.matchLabels]: map of strings | required if matchExpressions is not configured
* (`hostname`)[###listeners.hostname]: string | required
* (`name`)[###listeners.name]: string | required
* (`port`)[###listeners.port]: integer | required
* (`protocol)[###listeners.protocol]`: string | required
* (`tls`)[###listeners.tls]: object | required if protocol is set to HTTPS
* (`certificateRefs`)[###listeners.tls.certificateRefs]: array or objects | required if tls is declared
* (`name`)[###listeners.tls.certificateRefs.name]: string | required if certificateRefs is declared
* (`namespace`)[###listeners.tls.certificateRefs.namespace]: string | required if certificateRefs is declared
* (`mode`)[###listeners.tls.mode]: string | required if certificateRefs is declared
* (`options`)[###listeners.tls.options]: map of strings | optional
* (`gatewayClassName`)[#gatewayClassName]: string | required
* (`listeners`)[#listeners]: array of objects | required
* (`allowedRoutes`)[#listeners-allowedRoutes]: object | required
* (`namespaces`}[#listeners-namespaces]: object | required
* (`from`)[#listeners-namespaces-from]: string | required
* (`selector`)[#listeners-namespaces-selector]: object | required if from is configured to selector
* (`matchExpressions`)[#listeners-namespaces-selector-matchExpressions]: array of objects | required if matchLabels is not configured
* (`key`)[#listeners-namespaces-selector-matchExpressions-key]: string | required if matchExpressions is declared
* (`operator`)[#listeners.namespaces-selector-operator]: string | required if matchExpressions is declared
* (`values`)[#listeners.namespaces-selector-values]: array of strings | required if matchExpressions is declared
* (`matchLabels`)[#listeners-namespaces-selector-matchLabels]: map of strings | required if matchExpressions is not configured
* (`hostname`)[#listeners-hostname]: string | required
* (`name`)[#listeners-name]: string | required
* (`port`)[#listeners-port]: integer | required
* (`protocol`)[#listeners-protocol]`: string | required
* (`tls`)[#listeners-tls]: object | required if protocol is set to HTTPS
* (`certificateRefs`)[#listeners-tls-certificateRefs]: array or objects | required if tls is declared
* (`name`)[#listeners-tls-certificateRefs-name]: string | required if certificateRefs is declared
* (`namespace`)[#listeners-tls-certificateRefs-namespace]: string | required if certificateRefs is declared
* (`mode`)[#listeners-tls-mode]: string | required if certificateRefs is declared
* (`options`)[#listeners-tls-options]: map of strings | optional
## Specification

@ -21,11 +21,11 @@ The `GatewayClass` resource is a generic kubernetes gateway object. For configur
## Configuration model
* (`controllerName`)[###controllerName]: string | required
* (`parametersRef`)[###parametersRef]: object | optional
* (`group`)[###parametersRef.group]: Group | required is parametersRef is set
* (`kind`)[###parametersRef.kind]: Kind | required is parametersRef is set
* (`name`)[###parametersRef.name]: string | required is parametersRef is set
* (`controllerName`)[#controllerName]: string | required
* (`parametersRef`)[#parametersRef]: object | optional
* (`group`)[#parametersRef-group]: Group | required is parametersRef is set
* (`kind`)[#parametersRef-kind]: Kind | required is parametersRef is set
* (`name`)[#parametersRef-name]: string | required is parametersRef is set
* (`description`)[###description]: string | optional
## Specification

@ -15,30 +15,30 @@ The `GatewayClassConfig` object contains Consul API Gateway-related configuratio
## Configuration model
* (`consul`)[###consul]: object | optional
* (`address`)[###consul.address] : string | optional
* (`authentication`)[###consul.authentication]: object | optional
* (`account`)[[###consul.authentication.account] : string | optional
* (`managed`)[###consul.authentication.managed] : bool | optional
* (`method`)[###consul.authentication.method] : string | optional
* (`namespace`)[###consul.authentication.namespace] : string | optional
* (`ports`)[###consul.ports] : object | optional
* (`grpc`)[###consul.ports.grpc] : integer | optional
* (`http`)[###consul.ports.http] : integer | optional
* (`scheme`)[###consul.scheme] : string | optional
* (`copyAnnotations`)[###copyAnnotations] : object | optional
* (`service`)[###copyAnnotations.service] : array of strings | optional
* (`deployment`)[###deployment] : object | optional
* (`defaultInstances`)[###deployment.defaultInstances] : integer | optional
* (`maxInstances`)[###deployment.maxInstances] : integer | optional
* (`minInstances`)[###deployment.minInstances] : integer | optional
* (`image`)[###image] : object | optional
* (`consulAPIGateway`)[###image.consulAPIGateway] : string | optional
* (`envoy`)[###image.envoy] : string | optional
* (`logLevel`)[###logLevel] : string | optional
* (`nodeSelector`)[###nodeSelector] : string | optional
* (`serviceType`)[###serviceType] : string | optional
* (`useHostPorts`)[###useHostPorts] : boolean | optional
* (`consul`)[#consul]: object | optional
* (`address`)[#consul-address] : string | optional
* (`authentication`)[#consul-authentication]: object | optional
* (`account`)[[#consul-authentication-account] : string | optional
* (`managed`)[#consul-authentication-managed] : bool | optional
* (`method`)[#consul-authentication-method] : string | optional
* (`namespace`)[#consul-authentication-namespace] : string | optional
* (`ports`)[#consul-ports] : object | optional
* (`grpc`)[#consul-ports-grpc] : integer | optional
* (`http`)[#consul-ports-http] : integer | optional
* (`scheme`)[#consul-scheme] : string | optional
* (`copyAnnotations`)[#copyAnnotations] : object | optional
* (`service`)[#copyAnnotations-service] : array of strings | optional
* (`deployment`)[#deployment] : object | optional
* (`defaultInstances`)[#deployment-defaultInstances] : integer | optional
* (`maxInstances`)[#deployment-maxInstances] : integer | optional
* (`minInstances`)[#deployment-minInstances] : integer | optional
* (`image`)[#image] : object | optional
* (`consulAPIGateway`)[#image-consulAPIGateway] : string | optional
* (`envoy`)[#image-envoy] : string | optional
* (`logLevel`)[#logLevel] : string | optional
* (`nodeSelector`)[#nodeSelector] : string | optional
* (`serviceType`)[#serviceType] : string | optional
* (`useHostPorts`)[#useHostPorts] : boolean | optional
## Specification

@ -9,15 +9,15 @@ description: >-
This topic provides an overview of the configuration items that enable Consul API Gateway to facilitate ingress into your Consul service mesh.
- [Gateway](/docs/api-gateway/configuration/gateway): Defines the main infrastructure resource that links API gateway components. It specifies the name of the `GatewayClass` and one or more listeners (see [Listeners](/docs/api-gateway/configuration/gateway#listeners)), which specify the logical endpoints bound to the gateway's addresses. Refer to Configuration > Gateway for details on configuration.
- [Gateway](/docs/api-gateway/configuration/gateway): Defines the main infrastructure resource that links API gateway components. It specifies the name of the `GatewayClass` and one or more listeners (see [Listeners](/docs/api-gateway/configuration/gateway#listeners)), which specify the logical endpoints bound to the gateway's addresses.
- [GatewayClassConfig](/docs/api-gateway/configuration/gatewayclassconfig): Describes additional Consul API Gateway-related configuration parameters for the GatewayClass resource.
- [GatewayClass](/docs/api-gateway/configuration/gatewayclass): Defines a class of gateway resources that you can use as a template for creating gateways.
- [Routes](/docs/api-gateway/configuration/routes): Specifies the path from the gateway to the backend service(s)client to the listener.
A basic Gateway object can simply use the default [`gatewayClassName`](/docs/api-gateway/configuration/gateway###gatewayClassName) `consul-api-gateway`. For additional configruation options follow the following steps.
A basic Gateway object can simply use the default [`gatewayClassName`](/docs/api-gateway/configuration/gateway#gatewayClassName) `consul-api-gateway`. For additional configruation options follow the following steps.
1. Define a [GatewayClassConfig](/docs/api-gateway/configuration/gatewayclassconfig) containing your desired configurations.
1. Define a [GatewayClass](/docs/api-gateway/configuration/gatewayclass) with [`parametersRef.name`](/docs/api-gateway/configuration/gatewayclass###parametersRef.name) set to the name of the newly defined [GatewayClassConfig](/docs/api-gateway/configuration/gatewayclassconfig)
1. Define a [Gateway](/docs/api-gateway/configuration/gateway) with [`gatewayClassName`](/docs/api-gateway/configuration/gateway###gatewayClassName) set to the name of the newly defined [GatewayClass](/docs/api-gateway/configuration/gatewayclass)
1. Define a [GatewayClass](/docs/api-gateway/configuration/gatewayclass) with [`parametersRef.name`](/docs/api-gateway/configuration/gatewayclass#parametersRef-name) set to the name of the newly defined [GatewayClassConfig](/docs/api-gateway/configuration/gatewayclassconfig)
1. Define a [Gateway](/docs/api-gateway/configuration/gateway) with [`gatewayClassName`](/docs/api-gateway/configuration/gateway#gatewayClassName) set to the name of the newly defined [GatewayClass](/docs/api-gateway/configuration/gatewayclass)
<!--TODO add diagram -->

@ -47,33 +47,33 @@ The following example creates a route named `example-route` in namespace `gatewa
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: HTTPRoute
metadata:
name: example-route
namespace: gateway-namespace
name: example-route
namespace: gateway-namespace
spec:
parentRefs:
- name: example-gateway
rules:
- backendRefs:
- kind: Service
name: echo
namespace: service-namespace
port: 8080
parentRefs:
- name: example-gateway
rules:
- backendRefs:
- kind: Service
name: echo
namespace: service-namespace
port: 8080
---
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: ReferencePolicy
metadata:
name: reference-policy
namespace: service-namespace
name: reference-policy
namespace: service-namespace
spec:
from:
- group: gateway.networking.k8s.io
kind: HTTPRoute
namespace: gateway-namespace
to:
- group: ""
kind: Service
name: echo
from:
- group: gateway.networking.k8s.io
kind: HTTPRoute
namespace: gateway-namespace
to:
- group: ""
kind: Service
name: echo
```
</CodeBlockConfig>

Loading…
Cancel
Save