Configure the Admin API with Kong Gateway on Kubernetes

Uses: Kong Gateway
Related Documentation
Incompatible with
konnect

Prerequisites

This page is part of the Install Kong Gateway on-prem on Kubernetes series.

Complete the previous page, Install Kong Gateway on-prem with Helm before completing this page.

Kong Gateway is now running on Kubernetes. The Admin API is a NodePort service, which means it’s not publicly available. The proxy service is a LoadBalancer which provides a public address.

To make the admin API accessible without using kubectl port-forward, you can create an internal load balancer on your chosen cloud. This is required to use Kong Manager to view or edit your configuration.

Configure your Ingress Controller

To expose the Admin API, you need an Ingress Controller running in your cluster. Choose a provider and ensure that your Ingress controller is configured correctly:

Define Ingress annotations

Configure the admin section in values-cp.yaml. Replace example.com with your custom domain name.

Helm upgrade

Run helm upgrade to update the release.

helm upgrade kong-cp kong/kong -n kong --values ./values-cp.yaml

Update DNS

Fetch the Ingress IP address and update your DNS records to point at the Ingress address. You can configure DNS manually, or use a tool like external-dns to automate DNS configuration.

kubectl get ingress -n kong kong-cp-kong-admin \
  -o jsonpath='{.spec.rules[0].host}{": "}{range .status.loadBalancer.ingress[0]}{@.ip}{@.hostname}{end}'
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!