Install on Kubernetes

    This page also includes the equivalent commands for OpenShift.

    In DB-less mode on Kubernetes, the config is stored in etcd, the Kubernetes native data store. For more information, see Kubernetes Deployment Options.

    The Kong Gateway software is governed by the . Kong Gateway (OSS) is licensed under an Apache 2.0 license.

    • A Kubernetes cluster, v1.19 or later
    • v1.19 or later
    • (Enterprise only) A license.json file from Kong

    Create the namespace for Kong Gateway with Kubernetes Ingress Controller. For example:

    Kubernetes

    OpenShift

      1. Save your license file temporarily with the filename license (no file extension).

      2. Run:

        Kubernetes

        1. kubectl create secret generic kong-enterprise-license --from-file=<absolute-path-to>/license -n kong
        1. oc create secret generic kong-enterprise-license --from-file=./license -n kong
      1. Run one of the following:

        Kubernetes

        Kubernetes (OSS)

        OpenShift

        1. kubectl apply -f https://bit.ly/k4k8s-enterprise-install
        1. oc create -f https://bit.ly/k4k8s-enterprise-install

        This might take a few minutes.

      2. Check the install status:

        Kubernetes

        OpenShift

          1. oc get pods -n kong
        1. To make HTTP requests, you need the IP address of the load balancer. Get the loadBalancer address and store it in a local PROXY_IP environment variable:

          1. export PROXY_IP=$(kubectl get -o jsonpath="{.status.loadBalancer.ingress[0].ip}" service -n kong kong-proxy)

          If you’re testing locally and have not deployed a loadbalancer, you can port forward the kong-proxy service to test:

          Then in a different terminal window:

        2. Verify that the value of $PROXY_IP matches the value of the external host:

          1. echo $PROXY_IP

          This should match the EXTERNAL_IP value of the kong-proxy service returned by the Kubernetes API:

          Kubernetes

          OpenShift

          1. kubectl get service kong-proxy -n kong
          1. oc get service kong-proxy -n kong

        See the Kong Ingress Controller docs for how-to guides, reference guides, and more.