为了让 Ingress 资源工作,集群必须有一个正在运行的 Ingress 控制器。
与作为 kube-controller-manager
可执行文件的一部分运行的其他类型的控制器不同,
Ingress 控制器不是随集群自动启动的。
基于此页面,你可选择最适合你的集群的 ingress 控制器实现。
Kubernetes 作为一个项目,目前支持和维护
[AWS]、
[GCE]
和 [Nginx] Ingress 控制器。
[Avi Kubernetes Operator]
使用 [VMware NSX Advanced Load Balancer]
提供第 4 到第 7 层的负载均衡。
[BFE Ingress 控制器]是一个基于
[BFE] 的 Ingress 控制器。
[Easegress IngressController]
是一个基于 [Easegress] 的 API 网关,可以用作 Ingress 控制器。
F5 BIG-IP 的
[用于 Kubernetes 的容器 Ingress 服务]
让你能够使用 Ingress 来配置 F5 BIG-IP 虚拟服务器。
[Istio Ingress]
是一个基于 [Istio] 的 Ingress 控制器。
[用于 Kubernetes 的 Kong Ingress 控制器]
是一个用来驱动 [Kong Gateway] 的 Ingress 控制器。
[Skipper] HTTP
路由器和反向代理可用于服务组装,支持包括 Kubernetes Ingress
这类使用场景,是一个用以构造你自己的定制代理的库。
[Traefik Kubernetes Ingress 提供程序]
是一个用于 [Traefik] 代理的 Ingress 控制器。
你可以使用
[Ingress 类]在集群中部署任意数量的
Ingress 控制器。
请注意你的 Ingress 类资源的 .metadata.name
字段。
当你创建 Ingress 时,你需要用此字段的值来设置 Ingress 对象的 ingressClassName
字段(请参考
[IngressSpec v1 reference])。ingressClassName
是之前的[注解]做法的替代。
如果你不为 Ingress 指定 IngressClass,并且你的集群中只有一个 IngressClass 被标记为默认,那么
Kubernetes 会将此集群的默认 IngressClass
[应用]到 Ingress 上。
IngressClass。
你可以通过将
[ingressclass.kubernetes.io/is-default-class
注解]
的值设置为 "true"
来将一个 IngressClass 标记为集群默认。
理想情况下,所有 Ingress 控制器都应满足此规范,但各种 Ingress 控制器的操作略有不同。
确保你查看了 ingress 控制器的文档,以了解选择它的注意事项。