TopGit
GitHub Repo Review

Kong Ingress Controller: Kubernetes API Gateway

Kong/kubernetes-ingress-controller
KTopGit review image for Kong/kubernetes-ingress-controller
Review by Topgit.dev for Kong/kubernetes-ingress-controller, with GitHub repository stats and README context.
Quick verdict

Kong Ingress Controller for Kubernetes (KIC) turns Kubernetes CRDs into live routing config for Kong Gateway, covering both Ingress and the newer Gateway API. Kong's README says new feature work now goes to the Kong Operator, with KIC kept in support-only mode. Reach for it if you already run Kong Gateway and want CRD-driven routing today; skip it for a brand-new cluster, since Kong is steering new users to the Operator.

Stars
โ˜… 2.4k
Forks
โ‘‚ 621
Contributors
๐Ÿ‘ฅ 139
Language
Go
License
Apache-2.0
Topic
Developer Tools
Updated
Aug 2026

What is the Kong Ingress Controller?

Kong Ingress Controller for Kubernetes (KIC) is the official controller that lets Kong Gateway read Kubernetes Ingress and Gateway API resources and turn them into live routing configuration. Beyond plain HTTP it handles TLS, gRPC, TCP, and UDP through the same gateway across multiple namespaces, per the README, and layers Kong's plugin system on top for authentication, request and response transforms, and rate limiting.

Key Features for Kubernetes Traffic Management

  • โœ“Gateway API support: configures Kong through Gateway API resources, the documented successor to Ingress, with native routing for TLS, gRPC, TCP, and UDP alongside HTTP/HTTPS, shared across namespaces on one gateway.
  • โœ“Ingress support: still configures Kong through the standard Kubernetes Ingress resource for clusters not yet on Gateway API.
  • โœ“Declarative CRD configuration: expresses Kong's own feature set as Kubernetes Custom Resource Definitions instead of a separate config file or direct admin API calls.
  • โœ“Automated scaling of Kong Gateway replicas to keep routing available, described in the README as operating Kong for you rather than by hand.
  • โœ“Active and passive health checks paired with load balancing across backend pods.
  • โœ“Plugin-driven traffic control: Kong plugins for authentication, request/response transformation, and rate limiting, attached declaratively per the README.
  • โœ“Two install paths documented side by side: a Helm chart from charts.konghq.com, or the Kong Operator as an alternative deployment method.
  • โœ“Release images published on Docker Hub for linux/amd64 and linux/arm64, plus nightly main-branch builds from a separate nightly-ingress-controller repository.
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history โ†—

Installing Kong Ingress Controller

The documented path uses Helm. First install the Gateway API CRDs with kubectl apply against the kubernetes-sigs/gateway-api v1.0.0 standard-install.yaml manifest (or the experimental-install.yaml variant if you need TCPRoute and UDPRoute support), then install Kong Ingress Controller itself with `helm install kong --namespace kong --create-namespace --repo https://charts.konghq.com ingress`. The README suggests testing locally on Minikube or Kind, or on a hosted cluster such as GKE, and lists the Kong Operator as an alternative to the Helm install. Kong Enterprise users are pointed to a separate enterprise setup guide rather than the standard Helm command.

Configuring APIs and Traffic with KIC

Once installed, Kong Ingress Controller for Kubernetes watches Ingress or Gateway API objects - GatewayClass, Gateway, HTTPRoute, and ReferenceGrant, per the README - and pushes matching routes into Kong Gateway automatically. Plugin behavior such as authentication, request/response transforms, and rate limiting is attached through CRDs rather than Kong's admin API. The README doesn't include worked configuration examples itself; it points to guides in the separate kong/developer.konghq.com documentation repository for the actual CRD manifests and plugin syntax.

Strengths

  • โœ“Covers both Kubernetes Ingress and Gateway API in the same controller, so teams can migrate between the two without swapping gateways.
  • โœ“Routes more than HTTP - TCP, UDP, TLS, and gRPC traffic all run through the same gateway, per the README's feature list.
  • โœ“Kong's plugin system - authentication, transforms, rate limiting - attaches to routes declaratively through CRDs instead of a separate admin API call.
  • โœ“Two supported install paths, Helm chart or Kong Operator, plus published Docker images for linux/amd64 and linux/arm64.
  • โœ“Apache-2.0 licensed with active support channels - GitHub discussions, issues, a Kubernetes Slack channel, and monthly community meetups, per the README.

KIC's Future and Considerations

  • โ–ณKong is directing all new feature development toward the Kong Operator; the README describes KIC as continuing under support only, so future capability lands elsewhere first.
  • โ–ณEnterprise setup is deferred to a separate enterprise guide the README links to, rather than documented inline for this repository.
  • โ–ณWorked CRD and YAML configuration examples aren't in the README - it defers to the developer.konghq.com docs repository for actual manifest syntax.
  • โ–ณRelease container images are only published for linux/amd64 and linux/arm64, so other architectures aren't covered.
  • โ–ณPreview and experimental features sit behind feature gates documented only in this repo's own FEATURE_GATES.md and FEATURE_PREVIEW_DOCUMENTATION.md files, not on Kong's main documentation site.

Alternatives to Kong Ingress Controller

kubernetes-ingress - the nginx-based Ingress Controller already reviewed on TopGit; a config-only alternative if you don't need Kong Gateway's plugin ecosystem.Traefik - a Kubernetes-native reverse proxy with its own CRDs and built-in Let's Encrypt integration, lighter weight if you don't need Kong's plugin hub.Emissary-ingress (Ambassador) - an Envoy-based API gateway for Kubernetes with a CRD-driven configuration model similar in spirit to Kong's.Istio Gateway - the ingress path built into the Istio service mesh, worth it if you already run Istio for mTLS and traffic policy between services.

Common Questions about Kong Ingress Controller

What is the difference between Kong Ingress Controller and Kong Operator?

Kong Ingress Controller for Kubernetes is the standalone controller that turns Kubernetes CRDs into Kong Gateway configuration. The README says all new Kong-on-Kubernetes development is moving into the Kong Operator, which combines KIC's job and Kong Gateway Operator's job into one deployment path, while KIC continues under support only.

Does Kong Ingress Controller support Kubernetes Gateway API?

Kong Ingress Controller for Kubernetes supports the Gateway API as the documented successor to Ingress, with native routing for TLS, gRPC, TCP, UDP, and HTTP/HTTPS through GatewayClass, Gateway, HTTPRoute, and ReferenceGrant resources, per the README.

What kind of plugins are available for Kong Ingress Controller?

The README names authentication, request/response transformation, and rate limiting as example plugin categories Kong Ingress Controller for Kubernetes applies through Kong's plugin system, attached declaratively via CRDs.

How can I install Kong Ingress Controller in my Kubernetes cluster?

The documented path installs the Gateway API CRDs first, then runs `helm install kong --namespace kong --create-namespace --repo https://charts.konghq.com ingress`; the README also lists the Kong Operator as an alternative to the Helm install.

Is Kong Ingress Controller suitable for enterprise use?

The README points Kong Enterprise users to a separate enterprise setup guide, so Kong Ingress Controller for Kubernetes does support enterprise deployments, just through a different documented path than the open-source Helm install.

What license is Kong Ingress Controller released under?

Kong Ingress Controller for Kubernetes is released under the Apache-2.0 license, as listed on its GitHub repository.

The problem it solves

Teams running Kong Gateway inside a Kubernetes cluster need routes, plugins, and health checks to stay in sync with cluster state without hand-editing Kong's admin API or maintaining a separate declarative config file outside Kubernetes. Kong Ingress Controller for Kubernetes solves that by watching Kubernetes Ingress and Gateway API objects directly and pushing the resulting configuration into Kong Gateway, so a route change applied with kubectl takes effect without a separate push against Kong itself.

Best use cases

  • โ€ขRunning Kong Gateway as the entry point for a Kubernetes cluster and wanting routes, TLS, and plugins defined as CRDs instead of a separate config push.
  • โ€ขMigrating from Ingress-only setups toward the Gateway API while keeping the same gateway, since KIC supports both resource types side by side per the README.
  • โ€ขServing traffic beyond plain HTTP - gRPC, TLS, TCP, and UDP - through one gateway across namespaces instead of standing up separate ingress objects per protocol.
  • โ€ขApplying Kong's plugin system for authentication, request/response transformation, or rate limiting to Kubernetes-native workloads without calling Kong's admin API directly.
  • โ€ขKong Enterprise teams who want the same CRD-driven model with enterprise-only functionality layered on, following the README's separate enterprise setup guide.

Who should try it โ€” and who should skip

Reach for Kong Ingress Controller for Kubernetes if your team already runs Kong Gateway and needs CRD-driven Ingress or Gateway API routing plus its plugin ecosystem for auth, rate limiting, or request transforms. It's also a fit if you need one gateway to serve HTTP alongside TCP, UDP, TLS, and gRPC traffic across namespaces instead of separate ingress objects per protocol. Skip it if you're choosing a gateway for a brand-new cluster with no existing Kong investment, since Kong itself is directing new deployments to the Kong Operator instead of KIC.

Related repositories

Source & attribution

Facts and quotes sourced from the Kong/kubernetes-ingress-controller GitHub repository and its README.

GitHub data ยท last synced Aug 12, 2026Reviewed by Henry
โ† Back to TopGit

Still deciding about kubernetes-ingress-controller?

One click hands the question to an AI along with this page โ€” see what it says about kubernetes-ingress-controller.

GitHub