From 27206d9202fe23e88c0814adea4b43180d23d495 Mon Sep 17 00:00:00 2001 From: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com> Date: Mon, 12 Jun 2023 13:41:16 -0700 Subject: [PATCH] CAPIgw for K8s installation updates for 1.16 (#17627) * trimmed CRD step and reqs from installation * updated tech specs * Apply suggestions from code review Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com> * added upgrade instruction * removed tcp port req * described downtime and DT-less upgrades * applied additional review feedback --------- Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com> --- .../api-gateway/configuration/gateway.mdx | 2 +- website/content/docs/api-gateway/install.mdx | 79 ++++++--------- .../content/docs/api-gateway/tech-specs.mdx | 45 ++++----- website/content/docs/api-gateway/upgrades.mdx | 99 ++++++++++++++++++- 4 files changed, 147 insertions(+), 78 deletions(-) diff --git a/website/content/docs/api-gateway/configuration/gateway.mdx b/website/content/docs/api-gateway/configuration/gateway.mdx index 9d9b87b3b7..fdbe468ba8 100644 --- a/website/content/docs/api-gateway/configuration/gateway.mdx +++ b/website/content/docs/api-gateway/configuration/gateway.mdx @@ -58,7 +58,7 @@ The following outline shows how to format the configurations in the `Gateway` ob This topic provides details about the configuration parameters. ### gatewayClassName -Specifies the name of the [`GatewayClass`](/consul/docs/api-gateway/configuration/gatewayclass) resource used for the `Gateway` instance. Unless you are using a custom [GatewayClass](/consul/docs/api-gateway/configuration/gatewayclass), this value should be set to `consul-api-gateway`. +Specifies the name of the [`GatewayClass`](/consul/docs/api-gateway/configuration/gatewayclass) resource used for the `Gateway` instance. Unless you are using a custom [GatewayClass](/consul/docs/api-gateway/configuration/gatewayclass), this value should be set to `consul`. * Type: string * Required: required diff --git a/website/content/docs/api-gateway/install.mdx b/website/content/docs/api-gateway/install.mdx index 1d715c0c47..6285c9525a 100644 --- a/website/content/docs/api-gateway/install.mdx +++ b/website/content/docs/api-gateway/install.mdx @@ -5,29 +5,11 @@ description: >- Learn how to install custom resource definitions (CRDs) and configure the Helm chart so that you can run Consul API Gateway on your Kubernetes deployment. --- -# Install API Gateway for Kubernetes +# Install API gateway for Kubernetes -This topic describes how to install and configure Consul API Gateway. +The Consul API gateway ships with Consul and is automatically installed when you install Consul on Kubernetes. Before you begin the installation process, verify that the environment you are deploying Consul and the API gateway in meets the requirements listed in the [Technical Specifications](/consul/docs/api-gateway/tech-specs). Refer to the [Release Notes](/consul/docs/release-notes) for any additional information about the version you are deploying. -## Requirements - -Ensure that the environment you are deploying Consul API Gateway in meets the requirements listed in the [Technical Specifications][tech-specs]. This includes validating that the requirements for minimum versions of software are met. Refer to the [Release Notes][rel-notes] for the version of API Gateway you are deploying. - -## Installation - -1. Set the version of Consul API Gateway you are installing as an environment variable. The following steps use this environment variable in commands and configurations. - - ```shell-session - $ export VERSION=0.5.1 - ``` - -1. Issue the following command to install the CRDs: - - ```shell-session - $ kubectl apply --kustomize="github.com/hashicorp/consul-api-gateway/config/crd?ref=v$VERSION" - ``` - -1. Create a `values.yaml` file for your Consul API Gateway deployment by copying the following content and running it in the environment where you set the `VERSION` environment variable. The Consul Helm chart uses this `values.yaml` file to deploy the API Gateway. Available versions of the [Consul](https://hub.docker.com/r/hashicorp/consul/tags) and [Consul API Gateway](https://hub.docker.com/r/hashicorp/consul-api-gateway/tags) Docker images can be found on DockerHub, with additional context on version compatibility published in [GitHub releases](https://github.com/hashicorp/consul-api-gateway/releases). For more options to configure your Consul API Gateway deployment through the Helm chart, refer to [Helm Chart Configuration - apiGateway](/consul/docs/k8s/helm#apigateway). +1. Create a `values.yaml` file for configuring your Consul API gateway deployment and include the following settings: @@ -37,47 +19,46 @@ Ensure that the environment you are deploying Consul API Gateway in meets the re name: consul connectInject: enabled: true - apiGateway: - enabled: true - image: hashicorp/consul-api-gateway:$VERSION EOF ``` -1. Install Consul API Gateway using the standard Consul Helm chart or Consul K8s CLI specify the custom values file. Available versions of the [Consul Helm chart](https://github.com/hashicorp/consul-k8s/releases) can be found in GitHub releases. + The Consul Helm chart deploys the API gateway using the configuration specified in the `values.yaml` file. Refer to [Helm Chart Configuration - `connectInject.apiGateway`](/consul/docs/k8s/helm#apigateway) for information about the Helm chart configuration options. - - +1. Install Consul API Gateway using the standard Consul Helm chart or Consul K8s CLI specify the custom values file. Refer to the [Consul Helm chart](https://github.com/hashicorp/consul-k8s/releases) in GitHub releases for the available versions. - ~> **Note:** Refer to the official [Consul K8S CLI documentation](/consul/docs/k8s/k8s-cli) to find additional settings. + + - ```shell-session - $ brew tap hashicorp/tap - ``` +Refer to the official [Consul K8S CLI documentation](/consul/docs/k8s/k8s-cli) to find additional settings. - ```shell-session - $ brew install hashicorp/tap/consul-k8s - ``` +```shell-session +$ brew tap hashicorp/tap +``` - ```shell-session - $ consul-k8s install -config-file=values.yaml -set global.image=hashicorp/consul:1.14.3 - ``` +```shell-session +$ brew install hashicorp/tap/consul-k8s +``` - - +```shell-session +$ consul-k8s install -config-file=values.yaml -set global.image=hashicorp/consul:1.16.0 +``` - Add the HashiCorp Helm repository. + + - ```shell-session - $ helm repo add hashicorp https://helm.releases.hashicorp.com - ``` - Install Consul with API Gateway on your Kubernetes cluster by specifying the `values.yaml` file. +Add the HashiCorp Helm repository. - ```shell-session - $ helm install consul hashicorp/consul --version 1.0.2 --values values.yaml --create-namespace --namespace consul - ``` - - +```shell-session +$ helm repo add hashicorp https://helm.releases.hashicorp.com +``` +Install Consul with API Gateway on your Kubernetes cluster by specifying the `values.yaml` file. + +```shell-session +$ helm install consul hashicorp/consul --version 1.2.0 --values values.yaml --create-namespace --namespace consul +``` + +