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

如何在GCP Deployment Manager中覆盖Deployment包默认配置

解决方法
  • 第一步:修改WURFL部署包的上层Jinja模板
    你在test_config.yaml中传入的networks参数没有生效,核心原因是解压得到的wurfl-microservice-basic.jinja外层模板,没有把你传入的网络参数透传给下层创建VM的子模板。
    打开wurfl-microservice-basic.jinja文件,找到其中定义wurfl-vm资源的代码块,在子模板的properties配置中添加networks参数的透传逻辑,示例修改如下:
# 原VM资源定义
{
  'name': 'wurfl-vm',
  'type': 'vm_instance.py',
  'properties': {
    'zone': properties['zone'],
    # 新增这一行,透传外层传入的networks参数,默认值保留default
    'networks': properties.get('networks', ['default']),
    # 其他原有配置保持不变
    ...
  }
}

如果你的VPC是自定义子网模式,还需要同时透传subnetworks参数,和networks一一对应,参数值为目标可用区对应的子网名称:

'subnetworks': properties.get('subnetworks', ['default']),

同时在你的test_config.yaml中补充子网配置:

properties:
  zone: europe-west2-a
  networks:
    - mynetwork
  subnetworks:
    - mynetwork-subnet-euwest2 # 替换为你对应区域的子网名称

如果使用的是共享VPC,或者模板要求传入完整资源路径,可将网络、子网的值替换为完整URL,格式参考:
https://www.googleapis.com/compute/v1/projects/你的项目ID/global/networks/mynetwork

之前修改vm_instance.py.schema无效的原因:该文件只是参数的校验和说明文件,不会直接控制模板的实际赋值逻辑,模板中硬编码的默认值优先级高于schema的默认配置,因此直接修改schema不会生效。

  • 第二步:重新执行部署命令
    修改完模板文件后,重新运行原有部署命令即可:
gcloud deployment-manager deployments create \
  wurfl \
  --project xxxxxxx \
  --config test_config.yaml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:27:01