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

如何让AKS流量有条件地通过内部子网进行路由?

解决AKS测试脚本通过内部IP访问目标站点且保留互联网连接的方案

针对你遇到的问题——新访问策略阻止公网IP来源的AAD用户登录,需要让Cluster A的测试脚本仅在访问目标站点时走内部IP,同时不影响集群整体互联网连接,以下是几个可行的Azure配置方案:

方案1:Azure Private DNS域名解析重定向

这是最简洁的集群级配置,通过修改域名解析规则,让Cluster A内的流量访问目标站点域名时自动指向内部IP,其他域名仍走公网解析:

  • 在Azure门户创建对应站点域名的Private DNS区域(例如站点域名为internal-test-site.com,则创建同名Private DNS区域)
  • 在该区域添加一条A记录,将站点域名映射到Cluster B站点的内部IP地址
  • 将Cluster A所在的虚拟网络链接到这个Private DNS区域
  • 完成后,Cluster A内的测试脚本访问站点域名时,会直接解析到内部IP,符合防火墙例外规则;集群其他流量的互联网访问不受任何影响

方案2:Pod级路由表隔离

如果需要更精细的控制(仅让运行测试脚本的Pod走内部路由),可以通过自定义路由表+AKS网络策略实现:

  1. 为Cluster A的子网创建自定义路由表,添加路由规则:
    • 目标地址:Cluster B站点所在的内部子网IP范围
    • 下一跳类型:选择VPN网关(或虚拟网络对等连接的下一跳,根据你的网络拓扑)
  2. 创建AKS网络策略,将上述路由表仅关联到运行测试脚本的Pod所在的命名空间,或带有特定标签的Pod
  3. 验证:测试脚本的Pod访问目标站点时会走内部路由,集群其他Pod和节点的互联网连接保持正常

方案3:Virtual Node隔离测试流量

如果测试脚本是临时运行的任务,可借助Azure Virtual Node实现流量隔离:

  • 在Cluster A中启用Virtual Node,并将其关联到一个单独的子网
  • 给该子网配置自定义路由表,添加目标站点内部IP段的路由规则(下一跳为VPN网关)
  • 将测试脚本部署到Virtual Node上,这样测试流量访问站点时走内部IP,Virtual Node本身仍可正常访问互联网

验证步骤

  • 运行测试脚本时,用curl -v <站点域名/IP>或tracert <站点IP>检查流量的源IP和路由路径,确认使用的是内部IP
  • 测试集群内其他Pod/节点访问公网资源(如curl google.com),确保互联网连接未受影响
  • 确认防火墙例外规则中包含Cluster A内部节点/Pod的IP范围

内容的提问来源于stack exchange,提问作者Morgan Soren

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:45:32