From d7f25631ce242dd057e6178496484bfce200ed97 Mon Sep 17 00:00:00 2001 From: Melisa Griffin Date: Tue, 26 Mar 2024 11:49:55 -0400 Subject: [PATCH] =?UTF-8?q?Adds=20docs=20to=20upgrade-specific=20page=20to?= =?UTF-8?q?=20include=20the=20removal=20of=20the=20depr=E2=80=A6=20(#20844?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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> --- website/content/docs/k8s/helm.mdx | 114 ------------------ .../docs/upgrading/upgrade-specific.mdx | 14 +++ 2 files changed, 14 insertions(+), 114 deletions(-) diff --git a/website/content/docs/k8s/helm.mdx b/website/content/docs/k8s/helm.mdx index 5eafa95967..a2525a8b38 100644 --- a/website/content/docs/k8s/helm.mdx +++ b/website/content/docs/k8s/helm.mdx @@ -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) @@ -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:`) - 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 diff --git a/website/content/docs/upgrading/upgrade-specific.mdx b/website/content/docs/upgrading/upgrade-specific.mdx index cd98a95006..0adb8750c3 100644 --- a/website/content/docs/upgrading/upgrade-specific.mdx +++ b/website/content/docs/upgrading/upgrade-specific.mdx @@ -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