DEPRECATED
This repository has been deprecated. Please use docs for Kong for Kubernetes for installation and configuration of Kong on Kubernetes.
KONG ➕ Kubernetes Deployment
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