Ingress Controller介绍及部署实践
1. 概念
1.1 Ingress
Ingress 提供从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源所定义的规则来控制。
下面是 Ingress 的一个简单示例,可将所有流量都发送到同一 Service:

通过配置,Ingress 可为 Service 提供外部可访问的 URL、对其流量作负载均衡、 终止 SSL/TLS,以及基于名称的虚拟托管等能力。 Ingress 控制器 负责完成 Ingress 的工作,具体实现上通常会使用某个负载均衡器, 不过也可以配置边缘路由器或其他前端来帮助处理流量。
Ingress 不会随意公开端口或协议。 将 HTTP 和 HTTPS 以外的服务开放到 Internet 时,通常使用 Service.Type=NodePort 或 Service.Type=LoadBalancer 类型的 Service。
1.2 Ingress controller
为了让 Ingress 资源工作,集群必须有一个正在运行的 Ingress 控制器。Kubernetes 作为一个项目,Kubernetes 作为一个项目,目前支持和维护 AWS、 GCE 和 Nginx Ingress 控制器。此外还有一些由第三方维护的ingress contoller:
-
AKS 应用程序网关 Ingress 控制器 是一个配置 Azure 应用程序网关 的 Ingress 控制器。
-
阿里云 MSE Ingress 是一个 Ingress 控制器,它负责配置阿里云原生网关, 也是 Higress 的商业版本。
-
Apache APISIX Ingress 控制器 是一个基于 Apache APISIX 网关 的 Ingress 控制器。
-
Avi Kubernetes Operator 使用 VMware NSX Advanced Load Balancer 提供第 4 到第 7 层的负载均衡。
-
Cilium Ingress 控制器是一个由 Cilium 出品支持的 Ingress 控制器。
-
Citrix Ingress 控制器 可以用来与 Citrix Application Delivery Controller 一起使用。
-
F5 BIG-IP 的 用于 Kubernetes 的容器 Ingress 服务 让你能够使用 Ingress 来配置 F5 BIG-IP 虚拟服务器。
-
用于 Kubernetes 的 HAProxy Ingress 控制器 也是一个针对 HAProxy 的 Ingress 控制器。
-
Istio Ingress 是一个基于 Istio 的 Ingress 控制器。
-
用于 Kubernetes 的 Kong Ingress 控制器 是一个用来驱动 Kong Gateway 的 Ingress 控制器。
-
用于 Kubernetes 的 NGINX Ingress 控制器 能够与 NGINX 网页服务器(作为代理)一起使用。
备注:nginx和k8s官方各自维护了一套 nginx ingress controller
-
Traefik Kubernetes Ingress 提供程序 是一个用于 Traefik 代理的 Ingress 控制器。
- </

最低0.47元/天 解锁文章
614

被折叠的 条评论
为什么被折叠?



