You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于私有子网的AKS Ingress-Nginx负载均衡器配置难题求助

解决方案

以下是几个适配你场景的可行方案,按实施复杂度和适配性排序:

方案1:优化节点子网路由,让公网LB流量绕过Firewall

  • 给AKS节点子网的路由表添加一条路由规则:目标地址为公网LB的前端IP(或IP段),下一跳选择互联网网关。这样LB的入站流量直接到达节点,不会经过Firewall;而节点的出站流量(包括访问内部VNET、互联网)仍然走Firewall,保留原有内部网络访问能力。
  • 补充Azure Firewall规则:允许LB的健康检查流量(通常是TCP 80/443)访问AKS节点的对应端口,确保LB能正常探测后端状态。

方案2:私有Ingress + Azure Front Door

  • 部署私有ingress-nginx控制器:配置ingress服务为LoadBalancer类型,添加注解service.beta.kubernetes.io/azure-load-balancer-internal: "true",让ingress仅暴露在节点子网的内部IP上。
  • 配置Azure Front Door作为公网入口:后端池指向AKS的内部LB,通过Private Link将Front Door接入Virtual Hub的VNET,确保Front Door能访问到内部LB。
  • Cert Manager配置:
    • 方式一:让Cert Manager通过节点的Firewall出站,向Let's Encrypt申请证书(需Firewall允许80/443出站到Let's Encrypt域名),证书直接挂载到ingress-nginx。
    • 方式二:使用Azure Front Door自带的证书管理功能,在Front Door上配置SSL证书,由Front Door完成SSL终止,ingress-nginx仅处理HTTP流量。

方案3:切换AKS网络为Azure CNI

  • 若集群处于初期阶段,可重新创建AKS集群并选择Azure CNI网络模式,此时Pod的IP直接分配自节点所在的私有子网,成为VNET内可路由的IP。
  • 这种模式下,App Gateway可直接将Pod或ingress服务的子网IP作为后端池目标,Cert Manager也能使用这些可路由IP完成证书验证,无需处理overlay网络的IP问题。

方案4:Firewall DNAT转发到NodePort

  • 将ingress-nginx配置为NodePort类型服务,记录分配的节点端口(如30080/30443)。
  • 在Azure Firewall上添加DNAT规则:将Firewall公网IP的80端口转发到AKS节点的30080端口,443端口转发到30443端口(多节点可配置后端池包含所有节点)。
  • Cert Manager配置:确保Firewall允许80/443出站流量到Let's Encrypt,这样Cert Manager能正常完成HTTP-01或TLS-ALPN-01验证,生成并挂载证书到ingress-nginx。

内容的提问来源于stack exchange,提问作者Mert Saygı

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 17:23:09