Skip to content

Commit

Permalink
Adds docs to upgrade-specific page to include the removal of the depr… (
Browse files Browse the repository at this point in the history
hashicorp#20844)

* Adds docs to upgrade-specific page to include the removal of the deprecated API Gateway stanza for 1.19

* Apply suggestions from code review

Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>

* Remove legacy api-gateway from helm docs

* change .Values.apiGateway to .apiGateway

---------

Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
  • Loading branch information
missylbytes and jkirschner-hashicorp authored Mar 26, 2024
1 parent 20210a8 commit d7f2563
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 114 deletions.
114 changes: 0 additions & 114 deletions website/content/docs/k8s/helm.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ Use these links to navigate to a particular top-level stanza.
- [`meshGateway`](#h-meshgateway)
- [`ingressGateways`](#h-ingressgateways)
- [`terminatingGateways`](#h-terminatinggateways)
- [`apiGateway`](#h-apigateway)
- [`webhookCertManager`](#h-webhookcertmanager)
- [`prometheus`](#h-prometheus)
- [`tests`](#h-tests)
Expand Down Expand Up @@ -2758,119 +2757,6 @@ Use these links to navigate to a particular top-level stanza.

- `name` ((#v-terminatinggateways-gateways-name)) (`string: terminating-gateway`)

### apiGateway ((#h-apigateway))

- `apiGateway` ((#v-apigateway)) - [DEPRECATED] Use connectInject.apiGateway instead.
Configuration settings for the Consul API Gateway integration

- `enabled` ((#v-apigateway-enabled)) (`boolean: false`) - When true the helm chart will install the Consul API Gateway controller

- `image` ((#v-apigateway-image)) (`string: null`) - Image to use for the api-gateway-controller pods and gateway instances

~> **Note:** Using API Gateway <= 0.4 with external servers requires setting `client.enabled: true`.

- `imageEnvoy` ((#v-apigateway-imageenvoy)) (`string: envoyproxy/envoy:<latest supported version>`) - The name (and tag) of the Envoy Docker image used for the
apiGateway. For other Consul compoenents, imageEnvoy has been replaced with Consul Dataplane.

- `logLevel` ((#v-apigateway-loglevel)) (`string: info`) - Override global log verbosity level for api-gateway-controller pods. One of "debug", "info", "warn", or "error".

- `managedGatewayClass` ((#v-apigateway-managedgatewayclass)) - Configuration settings for the optional GatewayClass installed by consul-k8s (enabled by default)

- `enabled` ((#v-apigateway-managedgatewayclass-enabled)) (`boolean: true`) - When true a GatewayClass is configured to automatically work with Consul as installed by helm.

- `nodeSelector` ((#v-apigateway-managedgatewayclass-nodeselector)) (`string: null`) - This value defines [`nodeSelector`](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector)
labels for gateway pod assignment, formatted as a multi-line string.

Example:

```yaml
nodeSelector: |
beta.kubernetes.io/arch: amd64
```

- `tolerations` ((#v-apigateway-managedgatewayclass-tolerations)) (`string: null`) - Toleration settings for gateway pods created with the managed gateway class.
This should be a multi-line string matching the
[Tolerations](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) array in a Pod spec.

- `serviceType` ((#v-apigateway-managedgatewayclass-servicetype)) (`string: LoadBalancer`) - This value defines the type of service created for gateways (e.g. LoadBalancer, ClusterIP)

- `useHostPorts` ((#v-apigateway-managedgatewayclass-usehostports)) (`boolean: false`) - This value toggles if the gateway ports should be mapped to host ports

- `copyAnnotations` ((#v-apigateway-managedgatewayclass-copyannotations)) - Configuration settings for annotations to be copied from the Gateway to other child resources.

- `service` ((#v-apigateway-managedgatewayclass-copyannotations-service)) (`string: null`) - This value defines a list of annotations to be copied from the Gateway to the Service created, formatted as a multi-line string.

Example:

```yaml
service:
annotations: |
- external-dns.alpha.kubernetes.io/hostname
```

- `deployment` ((#v-apigateway-managedgatewayclass-deployment)) (`map`) - This value defines the number of pods to deploy for each Gateway as well as a min and max number of pods for all Gateways

Example:

```yaml
deployment:
defaultInstances: 3
maxInstances: 8
minInstances: 1
```

- `serviceAccount` ((#v-apigateway-serviceaccount)) - Configuration for the ServiceAccount created for the api-gateway component

- `annotations` ((#v-apigateway-serviceaccount-annotations)) (`string: null`) - This value defines additional annotations for the client service account. This should be formatted as a multi-line
string.

```yaml
annotations: |
"sample/annotation1": "foo"
"sample/annotation2": "bar"
```

- `controller` ((#v-apigateway-controller)) - Configuration for the api-gateway controller component

- `replicas` ((#v-apigateway-controller-replicas)) (`integer: 1`) - This value sets the number of controller replicas to deploy.

- `annotations` ((#v-apigateway-controller-annotations)) (`string: null`) - Annotations to apply to the api-gateway-controller pods.

```yaml
annotations: |
"annotation-key": "annotation-value"
```

- `priorityClassName` ((#v-apigateway-controller-priorityclassname)) (`string: ""`) - This value references an existing
Kubernetes [`priorityClassName`](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#pod-priority)
that can be assigned to api-gateway-controller pods.

- `nodeSelector` ((#v-apigateway-controller-nodeselector)) (`string: null`) - This value defines [`nodeSelector`](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector)
labels for api-gateway-controller pod assignment, formatted as a multi-line string.

Example:

```yaml
nodeSelector: |
beta.kubernetes.io/arch: amd64
```

- `tolerations` ((#v-apigateway-controller-tolerations)) (`string: null`) - This value defines the tolerations for api-gateway-controller pod, this should be a multi-line string matching the
[Tolerations](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) array in a Pod spec.

- `service` ((#v-apigateway-controller-service)) - Configuration for the Service created for the api-gateway-controller

- `annotations` ((#v-apigateway-controller-service-annotations)) (`string: null`) - Annotations to apply to the api-gateway-controller service.

```yaml
annotations: |
"annotation-key": "annotation-value"
```

- `resources` ((#v-apigateway-resources)) (`map`) - The resource settings for api gateway pods.

- `initCopyConsulContainer` ((#v-apigateway-initcopyconsulcontainer)) (`map`) - The resource settings for the `copy-consul-bin` init container.

### webhookCertManager ((#h-webhookcertmanager))

- `webhookCertManager` ((#v-webhookcertmanager)) - Configuration settings for the webhook-cert-manager
Expand Down
14 changes: 14 additions & 0 deletions website/content/docs/upgrading/upgrade-specific.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,20 @@ In previous versions, Consul emitted redundant state store usage metrics that co

As of Consul v1.19, Consul does not emit the redundant metric with the double `consul.consul` in its name. Any monitoring alerts and dashboards that you may have utilizing these metrics may require edits to update to the simplified metric name.

### Legacy API Gateway Removal
The Consul Kubernetes Helm chart stanza
[`.apiGateway`](/consul/docs/v1.16.x/k8s/helm#apigateway-1)
is removed in Consul v1.19.0. If using that stanza, migrate to the
[`connectInject.apiGateway`](/consul/docs/k8s/helm#v-connectinject-apigateway)
stanza before upgrading to Consul v1.19 or later.

The `.apiGateway` stanza is associated with the legacy API gateway that was
[deprecated in Consul v1.16.0](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated).
The Kubernetes-only legacy API gateway is superseded by the modern, multi-runtime
[API gateway](/consul/docs/connect/config-entries/api-gateway).
On Kubernetes, the modern API gateway is associated with the `connectInject.apiGateway` stanza.


## Consul 1.17.x

### Known issues
Expand Down

0 comments on commit d7f2563

Please sign in to comment.