Ingress 控制器
为了使 Ingress 资源工作,集群必须运行一个 ingress 控制器。
与作为 kube-controller-manager
二进制文件一部分运行的其他类型的控制器不同,Ingress 控制器不会随集群自动启动。使用本页面选择最适合你的集群的 ingress 控制器实现。
作为一个项目,Kubernetes 支持并维护 AWS、GCE 和 nginx ingress 控制器。
其他控制器 (Additional controllers)
- AKS Application Gateway Ingress Controller 是一个 ingress 控制器,用于配置 Azure Application Gateway。
- 阿里云 MSE Ingress 是一个 ingress 控制器,用于配置 阿里云云原生网关,它也是 Higress 的商业版本。
- Apache APISIX ingress controller 是一个基于 Apache APISIX 的 ingress 控制器。
- Avi Kubernetes Operator 使用 VMware NSX Advanced Load Balancer 提供 L4-L7 负载均衡。
- BFE Ingress Controller 是一个基于 BFE 的 ingress 控制器。
- Cilium Ingress Controller 是一个由 Cilium 提供支持的 ingress 控制器。
- The Citrix ingress controller 与 Citrix Application Delivery Controller 配合使用。
- Contour 是一个基于 Envoy 的 ingress 控制器。
- Emissary-Ingress API 网关是一个基于 Envoy 的 ingress 控制器。
- EnRoute 是一个基于 Envoy 的 API 网关,可以作为 ingress 控制器运行。
- Easegress IngressController 是一个基于 Easegress 的 API 网关,可以作为 ingress 控制器运行。
- F5 BIG-IP Container Ingress Services for Kubernetes 让你使用 Ingress 配置 F5 BIG-IP 虚拟服务器。
- FortiADC Ingress Controller 支持 Kubernetes Ingress 资源,并允许你从 Kubernetes 管理 FortiADC 对象
- Gloo 是一个基于 Envoy 的开源 ingress 控制器,提供 API 网关功能。
- HAProxy Ingress 是 HAProxy 的一个 ingress 控制器。
- Higress 是一个基于 Envoy 的 API 网关,可以作为 ingress 控制器运行。
- The HAProxy Ingress Controller for Kubernetes 也是 HAProxy 的一个 ingress 控制器。
- Istio Ingress 是一个基于 Istio 的 ingress 控制器。
- The Kong Kubernetes Ingress Controller 是一个驱动 Kong Gateway 的 ingress 控制器。
- Kusk Gateway 是一个基于 Envoy 的、由 OpenAPI 驱动的 ingress 控制器。
- The NGINX Kubernetes Ingress Controller 与 NGINX Web 服务器(作为代理)配合使用。
- The ngrok Kubernetes Ingress Controller 是一个开源控制器,用于使用 ngrok 平台 为你的 K8s 服务添加安全的公共访问。
- The OCI Native Ingress Controller 是用于 Oracle Cloud Infrastructure 的 Ingress 控制器,它允许你管理 OCI 负载均衡器。
- OpenNJet Ingress Controller 是一个基于 OpenNjet 的 ingress 控制器。
- The Pomerium Ingress Controller 基于 Pomerium,它提供上下文感知访问策略。
- Skipper HTTP 路由器和反向代理,用于服务组合,包括 Kubernetes Ingress 等用例,设计为构建自定义代理的库。
- The Traefik Kubernetes Ingress provider 是 Traefik 代理的 ingress 控制器。
- Tyk Operator 使用 Custom Resources 扩展了 Ingress,为 Ingress 带来了 API 管理能力。Tyk Operator 与开源 Tyk Gateway 和 Tyk Cloud 控制平面配合工作。
- Voyager 是 HAProxy 的一个 ingress 控制器。
- Wallarm Ingress Controller 是一个提供 WAAP (WAF) 和 API 安全功能的 Ingress 控制器。
使用多个 Ingress 控制器 (Using multiple Ingress controllers)
你可以在集群中使用 ingress class 部署任意数量的 ingress 控制器。请注意你的 ingress class 资源的 .metadata.name
。当你创建一个 ingress 时,需要使用该名称来指定你的 Ingress 对象的 ingressClassName
字段(参考 IngressSpec v1 参考)。ingressClassName
替换了旧的 注解方式。
如果你没有为 Ingress 指定 IngressClass,并且你的集群恰好有一个标记为默认的 IngressClass,那么 Kubernetes 会将集群的默认 IngressClass 应用到该 Ingress。通过在该 IngressClass 上设置值为 "true"
的 ingressclass.kubernetes.io/is-default-class
注解,可以将 IngressClass 标记为默认。
理想情况下,所有 ingress 控制器都应符合此规范,但各种 ingress 控制器的操作方式略有不同。
注意 (Note)
务必查阅你的 ingress 控制器的文档,以了解选择它的注意事项。下一步 (What's next)
本页面上的条目涉及提供 Kubernetes 所需功能的第三方产品或项目。Kubernetes 项目作者对这些第三方产品或项目不负责。更多详情请参阅 CNCF 网站指南。
在提议添加额外第三方链接的变更之前,你应该阅读内容指南。