Kong Ingress Controller
Kong Ingress Controller allows you to run Kong Gateway as a Kubernetes Ingress to handle inbound requests for a Kubernetes cluster.
Kong Ingress Controller takes Kubernetes resources such as Ingress
and HTTPRoute
and converts them into a valid Kong Gateway configuration. It enables you to use all the features of Kong Gateway.
Architecture
A Kubernetes ingress controller is an application that runs in a cluster and configures a load balancer based on Kubernetes resources (Ingress
, HTTPRoute
, TCPRoute
and more). Kong Ingress Controller configures Kong Gateway as a software load balancer which runs in the cluster and is typically exposed as a LoadBalancer
service.
Deployment Methods
Kong recommends using the kong/ingress
Helm chart to deploy Kong Ingress Controller. This chart supports both DB-less and DB-backed deployments. If you’re unsure which to choose, we recommend choosing DB-less, which treats the Kubernetes API server as the source of truth.
Common Use Cases
Many Kong Ingress Controller users have the same questions when adding an ingress controller to their cluster:
- How do I expose my service on a specific path?
- How do I protect the service with rate limiting?
- How do I cache responses for a period of time to reduce load?
- How do I add authentication to my service?
To do all of these in under 10 minutes, follow our getting started guide which takes you through step-by-step. Each page contains copy/paste instructions and links to further information if you want to learn more.
Gateway API Support
Kong is proud to be a driving force behind the Kubernetes Gateway API standard. With multiple contributors in maintainer and reviewer roles, Kong is all-in on Gateway API as the future of Kubernetes networking.
Kong Ingress Controller was the first submitted conformance report, and is 100% compliant with the core conformance tests (in addition to many extended tests). Kong has implemented the Gateway API resources as first-class citizens, converting them directly in to Kong Gateway configuration rather than using intermediate CRDs. This makes the Gateway API CRDs a native language for Kong Ingress Controller.
Troubleshooting
The following pages may help if Kong Ingress Controller is not working for you:
- Troubleshooting: Common issues that people encounter when running Kong Ingress Controller.
- FAQ: Specific questions about routing behavior, plugin compatibility and more.
- Feature Gates: If something isn’t working as expected, ensure that you have the correct feature gates enabled
- Create a GitHub issue: Report a bug or make a feature request for Kong Ingress Controller.
- Join the Kong Slack community: Get help from the team