Skip to content
This repository has been archived by the owner. It is now read-only.
master
Switch branches/tags
Code

DEPRECATED

This repository has been deprecated. Please use docs for Kong for Kubernetes for installation and configuration of Kong on Kubernetes.

KONG Kubernetes Deployment

Website Documentation Discussion

Kong or Kong Enterprise can easily be provisioned on a Kubernetes cluster - see Kong on Kubernetes for all the details.

Important Note

When deploying into a Kubernetes cluster with Deployment Manager, it is important to be aware that deleting ReplicationController Kubernetes objects does not delete its underlying pods, and it is your responisibility to manage the destruction of these resources when deleting or updating a ReplicationController in your configuration.

Kong Enterprise

Kong Enterprise is our powerful offering for larger organizations in need of security, monitoring, compliance, developer onboarding, higher performance, granular access and a dashboard to manage Kong easily. Learn more at https://konghq.com/kong-enterprise/.

Usage

Assuming the prerequisite of access to a k8s cluster via kubectl

make run_<postgres|cassandra>

Expose the admin api

kubectl port-forward -n kong svc/kong-control-plane 8001:8001
curl localhost:8001

Access the proxy

export HOST=$(kubectl get nodes --namespace default -o jsonpath='{.items[0].status.addresses[0].address}')
export PROXY_PORT=$(kubectl get svc --namespace kong kong-ingress-data-plane -o jsonpath='{.spec.ports[0].nodePort}')
curl $HOST:$PROXY_PORT

Cleanup

make cleanup

Usage

Assuming the prerequisite of access to a k8s cluster via kubectl

make run_<postgres|cassandra|dbless>

Expose the admin api

kubectl port-forward -n kong svc/kong-control-plane 8001:8001 &
curl localhost:8001

Access the proxy

export HOST=$(kubectl get nodes --namespace default -o jsonpath='{.items[0].status.addresses[0].address}')
export PROXY_PORT=$(kubectl get svc --namespace kong kong-ingress-data-plane -o jsonpath='{.spec.ports[0].nodePort}')
curl $HOST:$PROXY_PORT

If using dbless/declarative the declarative.yaml file is mounted as a config map onto the Kong containers. We use the md5sum of declarative.yaml file to update the deployment but per Facilitate ConfigMap rollouts / management for production setups one would might be best to use helm, kustomize or reloader.

Cleanup

make cleanup