Install Kong Operator

TL;DR

Use Helm and Kong’s kong-operator chart.

Install Kong Operator

The Kong Operator can deploy and manage Data Planes connected to a Konnect Control Plane. Configuration for services, routes, and plugins is managed entirely through Konnect and propagated automatically to Data Planes.

Create the kong namespace

Create the kong namespace in your Kubernetes cluster, which is where the Getting Started guide will run:

kubectl create namespace kong

Install the Operator

  1. Add the Kong Helm charts:

    helm repo add kong https://charts.konghq.com
    helm repo update
    
  2. Install Kong Gateway Operator using Helm:

    helm upgrade --install kong-operator kong/kong-operator -n kong-system \
      --create-namespace \
      --set image.tag=2.0.2 \
      --set env.ENABLE_CONTROLLER_KONNECT=true
    

If you want cert-manager to issue and rotate the admission and conversion webhook certificates, install cert-manager to your cluster and enable cert-manager integration by passing the following argument while installing:

--set global.webhooks.options.certManager.enabled=true

If you do not enable this, the chart will generate and inject self-signed certificates automatically. We recommend enabling cert-manager to manage the lifecycle of these certificates.

If you want cert-manager to issue and rotate the admission and conversion webhook certificates, install cert-manager to your cluster and enable cert-manager integration by passing the following argument while installing:

--set global.webhooks.options.certManager.enabled=true

If you do not enable this, the chart will generate and inject self-signed certificates automatically. We recommend enabling cert-manager to manage the lifecycle of these certificates.

Wait for readiness

Wait for the Kong Operator’s controller deployment to become available before proceeding, ensuring it’s ready to manage resources:

kubectl -n kong-system wait --for=condition=Available=true --timeout=120s deployment/kong-operator-kong-operator-controller-manager

You should see the following content on stdout:

deployment.apps/kong-operator-kong-operator-controller-manager condition met

Check the return code of the command to make sure it completed successfully:

if [[ $? -ne 0 ]]; then
  echo "Did not receive the expected return code"
fi

Once the Kong Operator is ready, you can begin provisioning Gateway Control Planes and Data Planes using Konnect CRDs.

Something wrong?

Help us make these docs great!

Kong Developer docs are open source. If you find these useful and want to make them better, contribute today!