Docker-based Nginx reverse proxy that automatically generates routing configs from running containers' VIRTUAL_HOST variables.
nginx/kubernetes-ingress
An Ingress Controller for Kubernetes that runs NGINX or NGINX Plus to route external HTTP, gRPC, TCP and UDP traffic to cluster services.
- Stars
- 5,094
- Forks
- 2,056
- Open issues
- 190
- Last commit
- 14 hours ago
What is it?
NGINX Ingress Controller is a Kubernetes component that configures an NGINX or NGINX Plus load balancer according to Ingress resources in a cluster. It handles content-based routing by host and path, and TLS/SSL termination for each hostname, so applications inside the cluster can be reached from outside.
Beyond standard Ingress, the controller adds NGINX features as annotations and ConfigMap settings. It also provides its own VirtualServer and VirtualServerRoute resources for cases such as traffic splitting, and a TransportServer resource for TCP, UDP and TLS passthrough. Websocket, gRPC, TCP and UDP applications are supported in addition to HTTP.
The project is maintained by NGINX (F5). Installation is available through a Helm chart or Kubernetes manifests, and images are published for both NGINX and NGINX Plus. It is distinct from the kubernetes/ingress-nginx controller.
Key features
- 01Host-based and path-based routing for HTTP traffic.
- 02TLS/SSL termination for each hostname.
- 03Load balancing for HTTP, Websocket, gRPC, TCP and UDP applications.
- 04VirtualServer resources for traffic splitting and advanced routing.
- 05TLS passthrough through TransportServer resources.
- 06Works with both NGINX open source and NGINX Plus.
Use cases
- Exposing web applications running in a Kubernetes cluster to external clients.
- Terminating TLS certificates for multiple services at a single entry point.
- Splitting traffic between application versions during a rollout.
- Load balancing gRPC or TCP services inside a Kubernetes environment.
Quick start
- 1
Install the controller with the Helm chart or Kubernetes manifests linked in the README
- 2
Configure load balancing for a sample app using the Cafe example or the VirtualServer basic configuration example
Things to know
- It runs only inside Kubernetes clusters.
- Some features require NGINX Plus, a commercial product covered by a support contract.
- It is a different project from the NGINX Ingress Controller in kubernetes/ingress-nginx.
In collections
Topics
FAQ
- What is kubernetes-ingress?
- An Ingress Controller for Kubernetes that runs NGINX or NGINX Plus to route external HTTP, gRPC, TCP and UDP traffic to cluster services. NGINX Ingress Controller is a Kubernetes component that configures an NGINX or NGINX Plus load balancer according to Ingress resources in a cluster. It handles content-based routing by host and path, and TLS/SSL termination for each hostname, so applications inside the cluster can be reached from outside.
- Is kubernetes-ingress free to use? What license does it have?
- kubernetes-ingress is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is kubernetes-ingress still maintained?
- Actively maintained. The last commit to kubernetes-ingress was on Nov 6, 2026.
- What can I use kubernetes-ingress for?
- Exposing web applications running in a Kubernetes cluster to external clients. Terminating TLS certificates for multiple services at a single entry point. Splitting traffic between application versions during a rollout. Load balancing gRPC or TCP services inside a Kubernetes environment.
- How do I install kubernetes-ingress?
- Install the controller with the Helm chart or Kubernetes manifests linked in the README Configure load balancing for a sample app using the Cafe example or the VirtualServer basic configuration example
- Where can I get kubernetes-ingress?
- The source code and installation instructions are on GitHub: https://github.com/nginx/kubernetes-ingress
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A web-based graphical interface for nginx that lets you manage virtual hosts, proxies, SSL certificates and streams without editing config files by hand.
A general-purpose HTTP reverse proxy and forwarding tool with a web management UI, written in Go, for homelabs and small server setups.
Open-source, cloud-native Web Application Firewall built on NGINX that acts as a reverse proxy in front of your web services.
A dynamic, high-performance API gateway built on NGINX and etcd, with plugins for routing, auth, rate limiting and AI/LLM traffic.
A high-performance web server and reverse proxy originated at Taobao, 100% compatible with nginx, adding HTTP/3, Kubernetes Ingress and SM2/TLCP support.