This repo provides an implementation of an Ingress Controller for NGINX and NGINX Plus from the people behind NGINX.
We value community input and would love to see you at the next community call. At these calls, we discuss PRs by community members as well as issues, discussions and feature requests.
Zoom Link: KIC - GitHub Issues Triage
Password: 197738
Slack: Join our channel #nginx-ingress-controller
on the NGINX Community Slack for updates and discussions.
When: 15:00 GMT / Convert to your timezone, every other Monday.
Community Call Dates | Notes |
---|---|
2024-07-15 | |
2024-07-29 | |
2024-08-12 | |
2024-08-26 | |
2024-09-09 | |
2024-09-23 |
NGINX Ingress Controller works with both NGINX and NGINX Plus and supports the standard Ingress features - content-based routing and TLS/SSL termination.
Additionally, several NGINX and NGINX Plus features are available as extensions to the Ingress resource via annotations and the ConfigMap resource. In addition to HTTP, NGINX Ingress Controller supports load balancing Websocket, gRPC, TCP and UDP applications. See ConfigMap and Annotations docs to learn more about the supported features and customization options.
As an alternative to the Ingress, NGINX Ingress Controller supports the VirtualServer and VirtualServerRoute resources. They enable use cases not supported with the Ingress resource, such as traffic splitting and advanced content-based routing. See VirtualServer and VirtualServerRoute resources doc.
TCP, UDP and TLS Passthrough load balancing is also supported. See the TransportServer resource doc.
Read this doc to learn more about NGINX Ingress Controller with NGINX Plus.
Note
This project is different from the NGINX Ingress Controller in kubernetes/ingress-nginx repo. See this doc to find out about the key differences.
The Ingress is a Kubernetes resource that lets you configure an HTTP load balancer for applications running on Kubernetes, represented by one or more Services. Such a load balancer is necessary to deliver those applications to clients outside of the Kubernetes cluster.
The Ingress resource supports the following features:
foo.example.com
to one group of services
and the host header bar.example.com
to another group./serviceA
to service A and
requests with the URI that starts with /serviceB
to service B.foo.example.com
.See the Ingress User Guide to learn more about the Ingress resource.
The Ingress Controller is an application that runs in a cluster and configures an HTTP load balancer according to Ingress resources. The load balancer can be a software load balancer running in the cluster or a hardware or cloud load balancer running externally. Different load balancers require different Ingress Controller implementations.
In the case of NGINX, the Ingress Controller is deployed in a pod along with the load balancer.
Note
All documentation should only be used with the latest stable release, indicated on the releases page of the GitHub repository.
We publish NGINX Ingress Controller releases on GitHub. See our releases page.
The latest stable release is 3.6.1. For production use, we recommend that you choose the latest stable release.
The edge version is useful for experimenting with new features that are not yet published in a stable release. To use it, choose the edge version built from the latest commit from the main branch.
To use NGINX Ingress Controller, you need to have access to:
It is important that the versions of those things above match.
The table below summarizes the options regarding the images, Helm chart, manifests, documentation and examples and gives your links to the correct versions:
Version | Description | Image for NGINX | Image for NGINX Plus | Installation Manifests and Helm Chart | Documentation and Examples |
---|---|---|---|---|---|
Latest stable release | For production use | Use the 3.6.1 images from DockerHub, GitHub Container, Amazon ECR Public Gallery or Quay.io or build your own image. | Use the 3.6.1 images from the F5 Container Registry or the AWS Marketplace or Build your own image. | Manifests. Helm chart. | Documentation. Examples. |
Edge/Nightly | For testing and experimenting | Use the edge or nightly images from DockerHub, GitHub Container, Amazon ECR Public Gallery or Quay.io or build your own image. | Build your own image. | Manifests. Helm chart. | Documentation. Examples. |
We generate SBOMs for the binaries and the Docker images.
The SBOMs for the binaries are available in the releases page. The SBOMs are generated using syft and are available in SPDX format.
The SBOMs for the Docker images are available in the DockerHub, GitHub Container, Amazon ECR Public Gallery or Quay.io repositories. The SBOMs are generated using syft and stored as an attestation in the image manifest.
For example to retrieve the SBOM for linux/amd64
from Docker Hub and analyze it using
grype you can run the following command:
docker buildx imagetools inspect nginx/nginx-ingress:edge --format '{{ json (index .SBOM "linux/amd64").SPDX }}' | grype
We’d like to hear your feedback! If you have any suggestions or experience issues with our Ingress Controller, please create an issue or send a pull request on GitHub. You can contact us directly via kubernetes@nginx.com or on the NGINX Community Slack.
If you'd like to contribute to the project, please read our Contributing guide.
For NGINX Plus customers NGINX Ingress Controller (when used with NGINX Plus) is covered by the support
最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。