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

Azure Container Apps从消费型迁移至工作负载配置文件后的网络问题

问题描述

我的架构为Hub-Spoke场景,辐网中的容器应用环境连接至10.70.10.0/23网段的VNET/子网:

  • Consumption Only模式:所有容器获取该网段内IP,子网关联的路由表将所有流量路由至对等中心VNET中的防火墙,运行正常
    Consumption Only模式网络拓扑
  • 迁移至Workload Profile模式后:所有容器获取100.100.x.x段IP,流量不再通过路由表,无法访问本地服务,防火墙未收到相关流量
    Workload Profile模式网络异常
故障原因与解决方案

核心原因

Workload Profile模式采用Kubernetes CNI网络模型,容器分配的100.100.x.x地址属于专用IP池,流量转发逻辑与Consumption模式完全不同:后者直接复用关联子网的路由规则,而Workload Profile的流量默认不会继承原子网的路由配置,导致Hub-Spoke架构中的防火墙路由失效。

分步解决

1. 定位Workload Profile专用节点子网

登录Azure门户,找到容器应用环境所属的VNET,查找名称包含workload或node的子网(这是模式切换后自动创建的节点子网,而非原10.70.10.0/23子网),记录其CIDR范围。

2. 关联路由表到节点子网

将原来用于引导流量到中心防火墙的路由表,重新关联到上述Workload Profile节点子网:

  1. 进入Azure路由表资源页面,切换到「子网」选项卡
  2. 添加找到的节点子网,确认路由表中0.0.0.0/0 → 防火墙私有IP等核心规则配置正确

3. 启用路由传播

确保路由表允许BGP路由传播,保证Hub-Spoke对等连接的路由能被Workload Profile节点识别:

  • 在路由表的「配置」选项卡中,开启「对虚拟网络网关的路由传播」
  • 或使用Azure CLI命令执行:
    az network route-table update --name <你的路由表名称> --resource-group <资源组名称> --disable-bgp-route-propagation false
    

4. 验证流量路径

  • 进入容器实例,执行traceroute <本地服务IP>或curl <本地服务地址>,确认流量是否经过防火墙IP
  • 查看中心防火墙的访问日志,检查是否有100.100.x.x段的流量请求

5. 检查NSG规则

  • 确保Workload Profile节点子网的NSG允许出站流量到防火墙的私有IP
  • 同时允许防火墙返回的流量进入100.100.x.x段地址范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 02:20:06