Ingress 控制器
为了让 Ingress 在集群中工作, 你必须运行一个 Ingress 控制器。你需要选择至少一个 Ingress 控制器并确保其已被部署到你的集群中。 本页列出了你可以部署的常见 Ingress 控制器。
说明:
Kubernetes 项目推荐使用 Gateway 而不是 Ingress。 Ingress API 已经被冻结。
这意味着:
- Ingress API 是正式发布的,并且遵循正式发布 API 的稳定性保证。 Kubernetes 项目没有计划从 Kubernetes 中移除 Ingress。
- Ingress API 不再进行开发,也不会对其进行进一步的更改或更新。
Kubernetes 项目支持并维护 AWS 和 GCE ingress 控制器。
第三方 Ingress 控制器
说明: 本部分链接到提供 Kubernetes 所需功能的第三方项目。Kubernetes 项目作者不负责这些项目。此页面遵循CNCF 网站指南,按字母顺序列出项目。要将项目添加到此列表中,请在提交更改之前阅读内容指南。
- AKS 应用程序网关 Ingress 控制器 是一个配置 Azure 应用程序网关的 Ingress 控制器。
- 阿里云 MSE Ingress是一个 Ingress 控制器,它负责配置阿里云原生网关, 也是 Higress 的商业版本。
- Apache APISIX Ingress 控制器是一个基于 Apache APISIX 网关的 Ingress 控制器。
- Avi Kubernetes Operator 使用 VMware NSX Advanced Load Balancer 提供第 4 到第 7 层的负载均衡。
- BFE Ingress 控制器是一个基于 BFE 的 Ingress 控制器。
- Cilium Ingress 控制器是一个由 Cilium 出品支持的 Ingress 控制器。
- Citrix Ingress 控制器可以用来与 Citrix Application Delivery Controller 一起使用。
- Contour 是一个基于 Envoy 的 Ingress 控制器。
- Emissary-Ingress API 网关是一个基于 Envoy 的入口控制器。
- EnRoute 是一个基于 Envoy 的 API 网关,可以用作 Ingress 控制器。
- F5 BIG-IP 的 用于 Kubernetes 的容器 Ingress 服务 让你能够使用 Ingress 来配置 F5 BIG-IP 虚拟服务器。
- FortiADC Ingress 控制器支持 Kubernetes Ingress 资源,并允许你从 Kubernetes 管理 FortiADC 对象。
- Gloo 是一个开源的、基于 Envoy 的 Ingress 控制器,能够提供 API 网关功能。
- HAProxy Ingress 是一个针对 HAProxy 的 Ingress 控制器。
- Higress 是一个基于 Envoy 的 API 网关,可以作为一个 Ingress 控制器运行。
- 用于 Kubernetes 的 HAProxy Ingress 控制器 也是一个针对 HAProxy 的 Ingress 控制器。
- Istio Ingress 是一个基于 Istio 的 Ingress 控制器。
- 用于 Kubernetes 的 Kong Ingress 控制器 是一个用来驱动 Kong Gateway 的 Ingress 控制器。
- Kusk Gateway 是一个基于 Envoy 的、OpenAPI 驱动的 Ingress 控制器。
- 用于 Kubernetes 的 NGINX Ingress 控制器 能够与 NGINX 网页服务器(作为代理)一起使用。
- ngrok-operator 是一个支持 Ingress 和 Gateway API 的 ngrok 控制器,用于为你的 K8s 服务添加安全的公开访问。
- OCI Native Ingress Controller 是一个适用于 Oracle Cloud Infrastructure 的 Ingress 控制器,可帮助你管理 OCI 负载均衡。
- OpenNJet Ingress Controller 是一个基于 OpenNJet 的 Ingress 控制器。
- Pomerium Ingress 控制器基于 Pomerium,能提供上下文感知的准入策略。
- Skipper HTTP 路由器和反向代理可用于服务组装,支持包括 Kubernetes Ingress 这类使用场景,是一个用以构造你自己的定制代理的库。
- Traefik Kubernetes Ingress 提供程序 是一个用于 Traefik 代理的 Ingress 控制器。
- Tyk Operator 使用自定义资源扩展 Ingress,为之带来 API 管理能力。Tyk Operator 使用开源的 Tyk Gateway & Tyk Cloud 控制面。
- Voyager 是一个针对 HAProxy 的 Ingress 控制器。
- Wallarm Ingress Controller 是提供 WAAP(WAF)和 API 安全功能的 Ingress Controller。
使用多个 Ingress 控制器
你可以使用
Ingress 类在集群中部署任意数量的
Ingress 控制器。
请注意你的 Ingress 类资源的 .metadata.name 字段。
当你创建 Ingress 时,你需要用此字段的值来设置 Ingress 对象的 ingressClassName 字段(请参考
IngressSpec v1 reference)。
ingressClassName
是之前的注解做法的替代。
如果你不为 Ingress 指定 IngressClass,并且你的集群中只有一个 IngressClass 被标记为默认,那么
Kubernetes 会将此集群的默认 IngressClass
应用到 Ingress 上。
你可以通过将
ingressclass.kubernetes.io/is-default-class 注解
的值设置为 "true" 来将一个 IngressClass 标记为集群默认。
理想情况下,所有 Ingress 控制器都应满足此规范,但各种 Ingress 控制器的操作略有不同。
说明:
确保你查看了 ingress 控制器的文档,以了解选择它的注意事项。
接下来
- 进一步了解 Ingress。
本页面中的条目引用了第三方产品或项目,这些产品(项目)提供了 Kubernetes 所需的功能。Kubernetes 项目的开发人员不对这些第三方产品(项目)负责。请参阅CNCF 网站指南了解更多细节。
在提交更改建议,向本页添加新的第三方链接之前,你应该先阅读内容指南。
最后修改 November 28, 2025 at 5:12 PM PST: [zh-cn]sync ingress-controllers (45116f7eb3)