如何配置Cromwell指定使用GCP的n系列机器而非e系列?
指定Cromwell GCP Batch机器系列的方法
有明确的配置方式可以指定Cromwell在GCP Batch中使用的机器系列,以下是几种常用方案:
1. 单个WDL任务中指定机型
在WDL的task块内,通过runtime参数的machineType直接指定具体机器型号,示例如下:
task process_compressed_files { input { Array[File] compressed_files } runtime { machineType: "n2-standard-8" diskSizeGb: 800 } command <<< # 解压及处理逻辑 for file in "${compressed_files[@]}"; do tar -xf "$file" # 后续处理步骤 done >>> output { Array[File] processed_files = glob("processed/*") } }
2. 全局配置默认机器系列
如果要统一修改所有任务的默认机型,编辑Cromwell的GCP配置文件(如application.conf),添加或修改以下配置:
google { batch { # 指定默认机器型号 defaultMachineType = "n2-standard-8" # 限制仅使用n2系列机器 instanceConstraints { machineSeries = "n2" } # 也可设置多个可选机型,让Cromwell按需选择 machineTypeChoices = ["n2-standard-8", "n2-highcpu-8"] } }
3. 使用GCP实例模板
若需要自定义磁盘、网络等高级配置,可先在GCP创建实例模板,再在WDL或Cromwell配置中引用:
- WDL任务中指定:
runtime { instanceTemplate: "projects/你的项目ID/global/instanceTemplates/你的模板名" }
- 全局配置中设置默认模板:
google.batch.defaultInstanceTemplate = "projects/你的项目ID/global/instanceTemplates/你的模板名"
这些配置逻辑均在Cromwell官方文档中有对应说明,通过上述方式可以完全覆盖默认的e系列机器选择,解决性能瓶颈与额外磁盘成本问题。
内容的提问来源于stack exchange,提问作者Greg Dougherty
相关产品推荐
相关产品推荐

