Backport of api gw 1.16 updates into release/1.16.x (#18348)

api gw 1.16 updates (#18081)

* api gw 1.16 updates

* Apply suggestions from code review



* update CodeBlockConfig filename

* Apply suggestions from code review




* remove non-standard intentions page

* Update website/content/docs/api-gateway/configuration/index.mdx



---------

Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
This commit is contained in:
hc-github-team-consul-core 2023-08-01 17:34:36 -04:00 committed by GitHub
parent 66a15c187c
commit eb38b5e4fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 16 deletions

View File

@ -26,7 +26,6 @@ Specify the following parameters to declare a `Gateway`:
| `fields` | Specifies the configurations for the Gateway. The fields are listed in the [configuration model](#configuration-model). Details for each field are described in the [specification](#specification). | Required |
## Configuration model
The following outline shows how to format the configurations in the `Gateway` object. Click on a property name to view details about the configuration.
@ -196,7 +195,7 @@ The following example creates a `Gateway` named `example-gateway` in namespace `
name: example-gateway
namespace: gateway-namespace
spec:
gatewayClassName: consul-api-gateway
gatewayClassName: consul
listeners:
- protocol: HTTPS
port: 443

View File

@ -13,8 +13,9 @@ This topic provides an overview of the configuration items that enable Consul AP
- [GatewayClass](/consul/docs/api-gateway/configuration/gatewayclass) defines a class of gateway resources that you can use as a template for creating gateways.
- [GatewayClassConfig](/consul/docs/api-gateway/configuration/gatewayclassconfig) describes additional Consul API Gateway-related configuration parameters for the GatewayClass resource.
- [Routes](/consul/docs/api-gateway/configuration/routes) specifies the path from the gateway to the backend service(s) client to the listener.
- [Intentions](/consul/docs/connect/config-entries/service-intentions) specify traffic communication rules between services in the mesh. Intentions also enforce rules for service-to-service traffic routed through a Consul API gateway.
You can create a basic Gateway object using the default [`gatewayClassName`](/consul/docs/api-gateway/configuration/gateway#gatewayclassname) (`consul-api-gateway`). If you want to create custom Gateways suitable for your environment, complete the following steps:
You can create a basic Gateway object using the default [`gatewayClassName`](/consul/docs/api-gateway/configuration/gateway#gatewayclassname) (`consul`). If you want to create custom Gateways suitable for your environment, complete the following steps:
1. Define a [GatewayClassConfig](/consul/docs/api-gateway/configuration/gatewayclassconfig) that contains your custom configurations.
1. Define a [GatewayClass](/consul/docs/api-gateway/configuration/gatewayclass) and configure the [`parametersRef.name`](/consul/docs/api-gateway/configuration/gatewayclass#parametersref-name) to reference the name of your [GatewayClassConfig](/consul/docs/api-gateway/configuration/gatewayclassconfig).

View File

@ -22,7 +22,7 @@ The following example creates a route named `example-route` associated with a li
<CodeBlockConfig filename="routes.yaml">
```yaml
apiVersion: gateway.networking.k8s.io/v1alpha2
apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
metadata:
name: example-route
@ -132,7 +132,7 @@ The following example creates a route named `example-route` in namespace `gatewa
<CodeBlockConfig filename="route_with_referencegrant.yaml">
```yaml
apiVersion: gateway.networking.k8s.io/v1alpha2
apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
metadata:
name: example-route

View File

@ -18,6 +18,8 @@ The Consul API gateway ships with Consul and is automatically installed when you
name: consul
connectInject:
enabled: true
apiGateway:
manageExternalCRDs: true
```
</CodeBlockConfig>

View File

@ -14,28 +14,23 @@ This topic describes how to use Consul API Gateway.
Complete the following steps to use Consul API Gateway in your network.
1. Verify that the [requirements](/consul/docs/api-gateway/tech-specs) have been met.
1. Verify that the Consul API Gateway CRDs and controller have been installed and applied. Refer to [Installation](/consul/docs/api-gateway/install) for details.
1. Verify that the Consul API Gateway CRDs were applied. Refer to [Installation](/consul/docs/api-gateway/install) for details.
## Configuration
Configure your [`Gateway`](/consul/docs/api-gateway/configuration/gateway) and [`Routes`](/consul/docs/api-gateway/configuration/routes) as described in [Consul API Gateway Configuration](/consul/docs/api-gateway/configuration).
Configure the following resources for your environment as described in [Consul API Gateway Configuration](/consul/docs/api-gateway/configuration).
<CodeBlockConfig hideClipboard filename="values.yaml">
1. [`Gateway`](/consul/docs/api-gateway/configuration/gateway)
1. [`Routes`](/consul/docs/api-gateway/configuration/routes)
1. [`Intentions`](/consul/docs/connect/config-entries/service-intentions)
```yaml
apiGateway:
enabled: true
managedGatewayClass:
```
</CodeBlockConfig>
## Apply configurations
Issue the `kubectl apply` command to implement the configurations:
```shell-session
$ kubectl apply -f gateway.yaml routes.yaml
$ kubectl apply -f gateway.yaml routes.yaml intentions.yaml
```