Compartir a través de

传入Azure Kubernetes 服务 (AKS)

注意

Kubernetes SIG Network和安全响应委员会宣布即将停用Ingress NGINX项目, 维护将于2026年3月结束。 目前,使用 NGINX 的应用程序路由加载项的 AKS 群集无需立即执行任何操作。 Microsoft将为应用程序路由加载项的NGINX Ingress资源的重要安全补丁提供正式支持,支持截止至2026年11月。

AKS 正在迁移到 网关 API,这将作为入口和 L7 流量管理的长期标准,以便与上游 Kubernetes 社区保持一致。 建议根据当前设置开始规划迁移路径:

AKS 中的 Ingress 是一种 Kubernetes 资源,用于管理外部类似 HTTP 的访问流量进入群集中的服务。 AKS 入口可以提供负载均衡、SSL 终止和基于名称的虚拟托管等服务。 有关 Kubernetes 入口的详细信息,请参阅 Kubernetes 入口文档

入口控制器

管理应用流量时,Ingress 控制器通过在第 7 层运行提供高级功能。 它们可以基于入站 URL 将 HTTP 流量路由到不同的应用程序,从而支持更智能和灵活的流量分配规则。 例如,入口控制器可以根据 URL 路径将流量定向到不同的微服务,从而提高服务的效率和组织。

另一方面,创建 LoadBalancer 类型的服务会设置基础Azure负载均衡器资源。 该负载均衡器运行在第 4 层,可在指定的端口上将流量分发到您的服务中的 Pod。 但第 4 层服务不了解实际的应用程序,无法实现这些类型的复杂传递规则。

了解这两种方法之间的区别将有助于选择合适的工具来满足流量管理需求。

显示 AKS 群集中入口流量的示意图

比较入口选项

下表列出了不同入口控制器选项之间的功能差异:

功能 应用路由插件 适用于容器的应用程序网关 Azure服务网格/基于 Istio 的服务网格
入口/网关控制器 NGINX 入口控制器 用于容器的Azure 应用程序网关 Istio 入口网关
应用程序接口 入口 API 入口 API 和网关 API Istio 入口 API
托管 群集中 Azure 托管 群集中
缩放 自动缩放 自动缩放 自动缩放
负载均衡 内部/外部 外部 内部/外部
SSL 终止 群集中 是:卸载和 E2E SSL 群集中
mTLS 不适用 是:前端和后端 不适用
静态 IP 地址 不适用 FQDN 不适用
Azure 密钥保管库存储 SSL 证书 不适用
Azure DNS 集成,用于管理 DNS 区域 不适用

下表列出了可以使用每个入口控制器的不同方案:

入口选项 何时使用
托管 NGINX - 应用程序路由加载项 • 群集中托管、可自定义且可缩放的 NGINX 入口控制器。
• 基本负载均衡和路由功能。
• 内部和外部负载均衡器的配置。
• 静态 IP 地址配置。
• 与证书管理的Azure 密钥保管库集成。
• 与用于公共和专用 DNS 管理的Azure DNS区域集成。
• 支持 Ingress API。
应用程序网关用于容器 • Azure托管入口网关。
• 由控制器管理的灵活部署策略或为容器自带Application Gateway。
• 高级流量管理功能,例如自动重试、可用性区域复原、对后端目标进行相互身份验证 (mTLS)、流量拆分/加权轮循机制和自动缩放。
• 与证书管理的Azure 密钥保管库集成。
• 与用于公共和专用 DNS 管理的Azure DNS区域集成。
• 支持入口和网关 API。
Istio 入口网关 • 根据 Envoy,在将 Istio 用于服务网格时。
• 高级流量管理功能,例如速率限制和断路。
• 对 mTLS 的支持

注意

用于Istio 入口流量的网关 API 尚不支持 Istio 插件,但目前正在积极开发中。

创建入口资源

建议使用应用程序路由加载项在 AKS 中配置入口控制器。 应用程序路由加载项是 Azure Kubernetes 服务 (AKS) 的一个完全托管的入口控制器,提供以下功能:

  • 轻松配置基于 Kubernetes NGINX 入口控制器的托管 NGINX 入口控制器。

  • 与用于公共和专用区域管理的Azure DNS集成。

  • SSL 终止,证书存储在Azure 密钥保管库中。

有关应用程序路由加载项的更多信息,请参阅应用程序路由加载项托管的 NGINX 入口

客户端源 IP 地址保留

可配置入口控制器,以便在对 AKS 群集中的容器发出请求时保留客户端源 IP。 当入口控制器将客户端的请求路由到 AKS 群集中的容器时,该请求的原始源 IP 不可用于目标容器。 如果启用客户端源 IP 保留,则可以在请求标头中的 X-Forwarded-For 下使用客户端的源 IP。

如果在您的入口控制器上使用客户端源 IP 保留,则无法使用 TLS 传输。 其他服务,如 LoadBalancer 类型,可以使用客户端源 IP 保留和 TLS 透传功能。

若要了解有关客户端源 IP 保留的详细信息,请参阅 AKS 中 LoadBalancer Services 的客户端源 IP 保留的工作原理如何