什么是Ingress Controller?
Ingress控制器是适用于Kubernetes(及其他容器化)环境的专用负载均衡器。Kubernetes是管理容器化应用的事实标准。对许多企业而言,将生产工作负载迁移到Kubernetes,会给应用流量管理带来更多挑战并增加复杂性。Ingress控制器可将Kubernetes应用流量路由的复杂性抽象化,并在Kubernetes服务与外部服务之间建立桥梁。
Kubernetes Ingress控制器:
- 接收来自Kubernetes平台外部的流量,并将其负载均衡到平台内运行的Pod(容器)
- 可管理集群内的出站流量,供需要与集群外其他服务通信的服务使用
- 使用Kubernetes API进行配置,以部署名为“Ingress Resources”的对象
- 监控Kubernetes中运行的Pod,并在服务中添加或移除Pod时自动更新负载均衡规则
观看这场NGINX Sprint会议,深入了解Kubernetes网络概念和Ingress控制器的作用,并获取实用建议,帮助您从三种基本类型的Ingress控制器(开源、云供应商默认和商业)中选择适合自身需求的类型。
NGINX Plus如何提供帮助?
是否需要频繁更改Ingress控制器的配置?保护Kubernetes服务免受攻击是否是首要任务?如果是,则需要具备以下功能的生产级Ingress控制器:
- 动态重新配置
- 轻量级的现代化Web应用防火墙(WAF)
- 使用经过实践检验的标准单点登录(SSO)解决方案(如OpenID Connect(OIDC))进行授权和身份验证
- 全天候支持,帮助您快速将生产工作负载迁移到Kubernetes
The NGINX Ingress Controller是一款生产级Ingress控制器(守护进程),在Kubernetes环境中与NGINX Open Source或NGINX Plus实例并行运行。该守护进程会监控NGINX Ingress资源和Kubernetes Ingress资源,以发现需要入口负载均衡的服务请求。它兼容NGINX App Protect。这是一款轻量级现代WAF,可部署在Ingress控制器上,也可用作单服务代理或单Pod代理。
借助NGINX Ingress Controller,可充分利用Kubernetes第4层至第7层网络功能,加强Kubernetes服务之间的安全和流量控制。
许多Ingress控制器使用NGINX作为数据平面,您可能想知道哪一款更适合自己。我们的博客概述了基于NGINX构建的三种常见Ingress控制器:
- Kubernetes社区(kubernetes/ingress-nginx,位于GitHub)
- NGINX Open Source(nginxinc/kubernetes-ingress,位于GitHub)
- NGINX Plus(商业产品,基于NGINX Plus)
选择合适的Ingress控制器取决于具体用例。如果需要生产级应用交付,上述功能至关重要,并且只有基于NGINX Plus的NGINX Ingress Controller版本提供这些功能。

