该存储库提供了 NGINX 背后人员的 NGINX 和 NGINX Plus 入口控制器的实现。
我们重视社区的意见,并希望在下次社区电话会议上见到您。在这些电话会议中,我们讨论社区成员的 PR 以及问题、讨论和功能请求。
Microsoft Teams 链接:KIC - GitHub 问题分类
会议号码: 298 140 979 789
密码: jpx5TM
Slack :加入 NGINX 社区 Slack 上的#nginx-ingress-controller
频道以获取更新和讨论。
时间: 15:00 GMT / 转换为您的时区,每隔一周星期一。
社区电话会议日期 |
---|
2024-10-07 |
2024-10-21 |
2024-11-05 |
2024-11-18 |
2024-12-02 |
2024-12-16 |
NGINX Ingress Controller 可与 NGINX 和 NGINX Plus 配合使用,并支持标准 Ingress 功能 - 基于内容的路由和 TLS/SSL 终止。
此外,一些 NGINX 和 NGINX Plus 功能可通过注释和 ConfigMap 资源作为 Ingress 资源的扩展。除了 HTTP 之外,NGINX Ingress Controller 还支持负载平衡 Websocket、gRPC、TCP 和 UDP 应用程序。请参阅 ConfigMap 和注释文档以了解有关支持的功能和自定义选项的更多信息。
作为 Ingress 的替代方案,NGINX Ingress Controller 支持 VirtualServer 和 VirtualServerRoute 资源。它们支持 Ingress 资源不支持的用例,例如流量分割和基于内容的高级路由。请参阅 VirtualServer 和 VirtualServerRoute 资源文档。
还支持 TCP、UDP 和 TLS 直通负载平衡。请参阅 TransportServer 资源文档。
阅读本文档以了解有关 NGINX Ingress Controller 和 NGINX Plus 的更多信息。
笔记
该项目与 kubernetes/ingress-nginx 存储库中的 NGINX Ingress Controller 不同。请参阅此文档以了解主要差异。
Ingress 是一种 Kubernetes 资源,可让您为 Kubernetes 上运行的应用程序(由一个或多个服务表示)配置 HTTP 负载均衡器。这样的负载均衡器对于将这些应用程序交付到 Kubernetes 集群外部的客户端来说是必需的。
Ingress 资源支持以下功能:
基于内容的路由:
基于主机的路由。例如,将主机头为foo.example.com
请求路由到一组服务,将主机头为bar.example.com
请求路由到另一组。
基于路径的路由。例如,将/serviceA
开头的 URI 的请求路由到服务 A,将/serviceB
开头的 URI 的请求路由到服务 B。
每个主机名的TLS/SSL 终止,例如foo.example.com
。
请参阅 Ingress 用户指南以了解有关 Ingress 资源的更多信息。
Ingress Controller 是一个运行在集群中的应用程序,根据 Ingress 资源配置 HTTP 负载均衡器。负载均衡器可以是在集群中运行的软件负载均衡器,也可以是在外部运行的硬件或云负载均衡器。不同的负载均衡器需要不同的 Ingress Controller 实现。
对于 NGINX,入口控制器与负载均衡器一起部署在 Pod 中。
笔记
所有文档只能与最新的稳定版本一起使用,如 GitHub 存储库的版本页面所示。
使用 Helm 图表或 Kubernetes 清单安装 NGINX Ingress Controller。
为简单的 Web 应用程序配置负载平衡:
使用入口资源。请参阅咖啡馆示例。
或者 VirtualServer 资源。请参阅基本配置示例。
请参阅其他配置示例。
在文档中了解有关所有可用配置和自定义的更多信息。
我们在 GitHub 上发布 NGINX Ingress Controller 版本。请参阅我们的发布页面。
最新的稳定版本是 3.7.2。对于生产使用,我们建议您选择最新的稳定版本。
边缘版本对于试验尚未在稳定版本中发布的新功能非常有用。要使用它,请选择从主分支的最新提交构建的边缘版本。
要使用 NGINX Ingress Controller,您需要有权访问:
NGINX 入口控制器映像。
安装清单或 Helm 图表。
文档和示例。
上述内容的版本匹配非常重要。
下表总结了有关图像、Helm 图表、清单、文档和示例的选项,并提供了正确版本的链接:
版本 | 描述 | NGINX 的图像 | NGINX Plus 的图像 | 安装清单和 Helm 图表 | 文档和示例 |
---|---|---|---|---|---|
最新稳定版本 | 供生产使用 | 使用 DockerHub、GitHub Container、Amazon ECR Public Gallery 或 Quay.io 中的 3.7.2 映像或构建您自己的映像。 | 使用 F5 容器注册表中的 3.7.2 映像或构建您自己的映像。 | 清单。舵图。 | 文档。例子。 |
边缘/夜间 | 用于测试和实验 | 使用来自 DockerHub、GitHub Container、Amazon ECR Public Gallery 或 Quay.io 的边缘或夜间映像,或构建您自己的映像。 | 建立自己的形象。 | 清单。舵图。 | 文档。例子。 |
我们为二进制文件和 Docker 镜像生成 SBOM。
二进制文件的 SBOM 可在发布页面中找到。 SBOM 使用 syft 生成,并以 SPDX 格式提供。
Docker 映像的 SBOM 可在 DockerHub、GitHub Container、Amazon ECR Public Gallery 或 Quay.io 存储库中获取。 SBOM 使用 syft 生成,并作为证明存储在映像清单中。
例如,要从 Docker Hub 检索linux/amd64
的 SBOM 并使用 grype 对其进行分析,您可以运行以下命令:
docker buildx imagetools 检查 nginx/nginx-ingress:edge --format '{{ json (index .SBOM "linux/amd64").SPDX }}' |格赖佩
我们希望听到您的反馈!如果您对我们的 Ingress Controller 有任何建议或遇到问题,请在 GitHub 上创建问题或发送拉取请求。您可以通过 NGINX Community Slack 直接联系我们。
如果您想为该项目做出贡献,请阅读我们的贡献指南。
对于 NGINX Plus 客户,NGINX Ingress Controller(与 NGINX Plus 一起使用时)包含在支持合同内。