华为云用户手册

  • volumes配置样例 以下示例,使得每个任务容器会挂载5个共享存储,也就是所有的容器可以看到一样的共享目录。 volumes: genref: mount_path: '${volume-path-ref}' mount_from: pvc: '${BCE_REF_PVC}' #内置变量,基因容器提供的参考组OBS桶 genobs: mount_path: '${volume-path-obs}' mount_from: pvc: '${BCE_DATA_PVC}' #内置变量,环境关联的OBS桶 gensfs: mount_path: '${volume-path-sfs}' mount_from: pvc: '${BCE_SFS_PVC}' #内置变量,加速存储盘 other: mount_path: /home/mydata mount_from: pvc: '${my_k8s_pvc}' # 关联的Kubernetes集群中的任意共享存储(PVC)名字 subdir: mount_path: /home/subdir mount_from: pvc: '${my_k8s_pvc}' sub_path: '${path_var}' #仅挂载共享存储的某个子目录,可以使用inputs变量,如: path_var = abc/def
  • 创建Argo作业 登录BCE控制台,左侧导航栏中选择“作业管理”。 在“Argo”页签下,单击“创建作业”。 配置参数,具体如表1所示。 表1 创建作业 参数 说明 作业名称 输入作业名称。要求如下: 长度范围为4~32个字符。 名称由小写字母、数字、中划线(-)组成。 以小写字母开头。 以小写字母或数字结尾。 队列 选择队列,如果还未创建队列,可单击“创建队列”创建,具体操作请参见队列管理。 任务组件 可将“AI任务”或“HPC任务”用鼠标拖动至画布中。 在画布中,双击“AI任务”或“HPC任务”,编辑任务,编辑完成后,单击“确定”。 编辑AI任务 表2 编辑AI任务 参数 说明 基本信息 任务名称 输入任务名称。 队列 选择队列,如未创建队列,可单击“创建队列”。 任务实例配置 资源类型 默认为Tensorflow,不可修改。 Tensorflow任务是一种基于Tensorflow开源框架的kubernetes自定义资源类型,多种角色可以配置,可更简单地实现Tensorflow的单机或分布式训练 任务实例组合 可根据实际需求选择对应的任务实例组合。 Worker+Evaluator:单节点进行训练,只有Worker角色,可以搭配Evaluator角色使用。 PS+Worker+Evaluator:多节点进行训练,有PS和Worker角色,可以搭配Evaluator角色使用。 PS+Chief+Worker+Evaluator:多节点进行训练,有PS、Chief和Worker角色,可以搭配Evaluator角色使用。 任务实例 角色名称 角色名称此处为默认值,不用输入。 实例数量 输入实例数量。 PS、Worker:这两个角色根据实际情况输入实例数量。 Chief、Evaluator:这两个角色默认实例数量为1,无法输入。 容器配置 容器配置参数,请参见表3。可单击“添加容器”,添加多个容器。 高级配置 失败重试次数 任务的失败重试次数,仅适用于重启策略为OnFailure或Always的pod。 最大存活时长 最大存活时长,从创建任务开始,若超过此时间任务没有执行完成,则任务会视为失败。 结束后保留时长(s) 此处指定时间删除执行完成的任务,可以选择“0~永久”之间的任意时间。 0:表示执行完成后立刻删除。 永久:表示执行完成后永久保留,不删除。 如果不配置,默认为“永久”。 清理策略 任务结束之后,清理pod策略。可根据实际需求选择“清理运行中的Pod”、“清理全部实例”和“不清理”。 表3 容器配置参数说明 参数 说明 基本信息 镜像名称 单击“选择镜像”,从我的镜像、开源镜像中心或共享镜像中选择需要的镜像。 我的镜像:展示了您创建的所有镜像仓库。 开源镜像中心:展示了开源镜像中心仓库中的官方镜像。 共享镜像:其他租户通过“ 容器镜像服务 ”共享给您的镜像将在此处展示,您可以基于共享镜像创建工作负载。 导入的镜像,您可单击“更换镜像”进行更换。 * 镜像版本 选择需要部署的镜像版本。 * 容器名称 容器的名称,可修改。 特权容器 特权容器是指容器里面的程序具有一定的特权。 若选中,容器将获得超级权限,例如可以操作宿主机上面的网络设备、修改内核参数等。 CPU配额 容器需要使用的最小CPU值,默认0.5 核。 内存配额 容器需要使用的内存最小值,默认1 GB。 生命周期 启动命令 设置容器启动时执行的命令。 启动后处理 设置容器成功运行后执行的命令,详细配置方法请参见设置容器生命周期。 停止前处理 设置容器结束前执行的命令,通常用于删除日志/临时文件等,详细配置方法请参见设置容器生命周期。 容器端口 端口名称 输入端口名称,默认为port-1。 容器端口 输入端口,默认为22。 端口协议 选择端口协议,默认为TCP。 环境变量 手动添加 输入变量名称、变量/变量引用。 对于已设置的环境变量,可以进行修改或者删除。 容器存储 手动添加 可选参数,如果要挂载使用 对象存储服务 提供的并行文件系统,则单击“添加存储挂载”。 文件系统名称:在下拉列表中根据名称选择要使用的并行文件系统。 挂载路径:根据实际情况填入挂载目录,例如/dir/test。 编辑HPC任务 表4 编辑HPC任务 参数 说明 任务名称 输入任务名称。 最小实例 输入最小实例个数。 任务实例配置 添加角色 可单击“添加角色”,添加多个角色。 角色名称 输入角色名称。要求如下: 长度范围为1~10个字符。 名称由小写字母、数字、中划线(-)和点(.)组成。 中划线(-)和点(.)必须以字母或数字隔开。 以小写字母开头和结尾。 实例数量 输入实例数量。 容器配置 容器配置参数,请参见表5。 可单击“添加容器”,添加多个容器。 表5 容器配置参数说明 参数 说明 基本信息 镜像名称 单击“选择镜像”,从我的镜像、开源镜像中心或共享镜像中选择需要的镜像。 我的镜像:展示了您创建的所有镜像仓库。 开源镜像中心:展示了开源镜像中心仓库中的官方镜像。 共享镜像:其他租户通过“容器 镜像服务 ”共享给您的镜像将在此处展示,您可以基于共享镜像创建工作负载。 导入的镜像,您可单击“更换镜像”进行更换。 镜像版本 选择需要部署的镜像版本。 容器名称 容器的名称,可修改。 CPU配额 容器需要使用的最小CPU值,默认0.5 核。 内存配额 容器需要使用的内存最小值,默认1 GB。 生命周期 启动命令 设置容器启动时执行的命令。 启动后处理 设置容器成功运行后执行的命令,详细配置方法请参见设置容器生命周期。 停止前处理 设置容器结束前执行的命令,通常用于删除日志/临时文件等,详细配置方法请参见设置容器生命周期。 容器端口 端口名称 输入端口名称,默认为port-1。 容器端口 输入端口,默认为22。 端口协议 选择端口协议,默认为TCP。 环境变量 手动添加 输入变量名称、变量/变量引用。 对于已设置的环境变量,可以进行修改或者删除。 容器存储 手动添加 可选参数,如果要挂载使用对象存储服务提供的并行文件系统,则单击“添加存储挂载”。 文件系统名称:在下拉列表中根据名称选择要使用的并行文件系统。 挂载路径:根据实际情况填入挂载目录,例如/dir/test 单击“下一步:规格确认”,确认任务规格。 单击“创建任务”,任务创建成功。
  • 模板示例 version: genecontainer_0_1inputs: #设置流程变量 sample: #变量名 default: sample1 type: string description: 变量描述,支持中文 label: basicworkflow: #设置流程顺序 test-job-a: tool: busybox:latest type: G CS .Job resources: memory: 4G commands_iter: # {item} 为GCS内置变量,表示并发任务的 index,需要的时候选用 command: sleep 10; touch /obs/test-job/${sample}.${item}.${1}.txt vars_iter: - [0,1] test-job-b: tool: busybox:latest type: GCS.Job resources: memory: 4G commands: - sleep 10; touch /obs/test-job/${sample}.job-b.txt depends: - target: test-job-a #表示依赖另一个步骤,默认依赖类型: wholevolumes: #设置挂载共享存储 genobs: mount_path: /obs mount_from: pvc: '${GCS_DATA_PVC}' #OBS数据桶outputs: #设置最终结果 result-txt: #结果文件 paths_iter: path: /obs/test-job/${sample}.${item}.${1}.txt vars_iter: - [0,1]
  • 模板结构 基因容器语法结构请参见表1。 表1 模板组成元素 参数 是否必选 参数类型 参数描述 version 是 string 流程文件的版本。当前支持为 genecontainer_0_1。 inputs 否 Map 整个流程的可变量。可以定义多个,在执行的时候设置这些变量的实际值。 workflow 是 Map 定义完整流程包含的各个步骤,以及步骤之间的依赖关系。 volumes 否 Map 定义任务挂载共享存储的挂载路径。 outputs 否 Map 定义流程最终生成的文件列表。用于界面展示使用。
  • 示例流程 图1 给用户授予BCE权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予容器批量计算只读权限“BCE ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限(假设当前权限仅包含BCE ReadOnlyAccess)。 在“服务列表”中选择容器批量计算,进入BCE主界面,执行除查询以外的其他操作,如:创建、修改、删除等。 示例:单击右上角“创建作业”,若提示权限不足,表示“BCE ReadOnlyAccess”已生效。 在“服务列表”中选择除容器批量计算外的任意一个服务,如“虚拟私有云”,若提示权限不足,表示“BCE ReadOnlyAccess”已生效。
  • BCE自定义策略样例 示例1:配置BCE FullAccess策略,该策略有依赖,具体说明请参见权限管理。 { "Version": "1.1", "Statement": [ { "Action": [ "swr:repository:getTag", "swr:repository:getRepository", "swr:repository:getNamespace", "swr:repository:listNamespaces", "swr:repository:listTags", "swr:repository:listRepositories" ], "Effect": "Allow" }, { "Action": [ "bce:*:*", "cce:cluster:get", "cce:cluster:list", "cce:node:get", "cce:node:list", "cce:storage:create", "cce:storage:list", "CCI:namespace:get", "CCI:namespace:list", "CCI:namespaceSubResource:Create", "CCI:namespaceSubResource:Delete", "CCI:namespaceSubResource:Get", "CCI:namespaceSubResource:List", "CCI:namespaceSubResource:Update", "CCI:network:get", "CCI:network:list", "rds:database:list", "rds:instance:list", "vpc:vpcs:get", "vpc:subnets:get", "vpc:vpcs:list", "evs:volumes:list", "sfs:shares:getAllSharesDetail", "sfs:shares:ShareAction", "evs:volumes:get" ], "Effect": "Allow" } ]} 示例2:配置BCE ReadOnlyAccess策略,该策略有依赖,具体说明请参见权限管理。 { "Version": "1.1", "Statement": [ { "Action": [ "swr:repository:getTag", "swr:repository:getRepository", "swr:repository:getNamespace", "swr:repository:listNamespaces", "swr:repository:listTags", "swr:repository:listRepositories" ], "Effect": "Allow" }, { "Action": [ "bce:*:list", "bce:*:get", "cce:cluster:get", "cce:cluster:list", "cce:node:get", "cce:node:list", "cce:storage:list", "CCI:namespace:get", "CCI:namespace:list", "CCI:namespaceSubResource:Get", "CCI:namespaceSubResource:List", "CCI:network:get", "CCI:network:list", "rds:database:list", "rds:instance:list", "vpc:vpcs:get", "vpc:subnets:get", "vpc:vpcs:list", "evs:volumes:list", "sfs:shares:getAllSharesDetail", "sfs:shares:ShareAction", "evs:volumes:get" ], "Effect": "Allow" } ]} 示例3:配置BCE CommonOperations策略,该策略有依赖,具体说明请参见权限管理。 { "Version": "1.1", "Statement": [ { "Action": [ "swr:repository:getTag", "swr:repository:getRepository", "swr:repository:getNamespace", "swr:repository:listNamespaces", "swr:repository:listTags", "swr:repository:listRepositories" ], "Effect": "Allow" }, { "Action": [ "bce:*:get", "bce:*:list", "bce:commonWorkflows:*", "bce:commonWorkflowTemplates:*", "bce:executions:*", "bce:executionsExtend:*", "bce:hpcJobs:*", "bce:tfjobs:*", "bce:queues:*", "bce:workflowsExtend:*", "bce:workflows:*", "cce:cluster:get", "cce:cluster:list", "cce:node:get", "cce:node:list", "cce:storage:create", "cce:storage:list", "CCI:namespace:get", "CCI:namespace:list", "CCI:namespaceSubResource:Create", "CCI:namespaceSubResource:Delete", "CCI:namespaceSubResource:Get", "CCI:namespaceSubResource:List", "CCI:namespaceSubResource:Update", "CCI:network:get", "CCI:network:list", "rds:database:list", "rds:instance:list", "vpc:vpcs:get", "vpc:subnets:get", "vpc:vpcs:list", "evs:volumes:list", "sfs:shares:getAllSharesDetail", "sfs:shares:ShareAction", "evs:volumes:get" ], "Effect": "Allow" } ]} 示例4:查询队列列表 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ " bce:queues:list " ] } ]} 示例5:拒绝用户删除GCS作业 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 如果您给用户授予BCE FullAccess的系统策略,但不希望用户拥有BCE FullAccess中定义的删除GCS作业权限,您可以创建一条拒绝删除GCS作业的自定义策略,然后同时将BCE FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对BCE执行除了删除GCS作业外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Action": [ "bce:executions:delete" ], "Effect": "Deny" } ]}
  • 通过模板创建WDL作业 登录BCE控制台,左侧导航栏中选择“作业模板”。 在“WDL作业模板”页签下,在已创建的模板列中,单击“以此版本创建作业”,进入到创建作业的界面。 配置参数,具体如表2所示。 表2 创建作业 参数 说明 作业名称 输入作业名称。要求如下: 长度范围为1~63个字符。 名称由小写字母、数字、中划线(-)组成。 以小写字母开头。 以小写字母或数字结尾。 模板文件 此处默认为2中的模板文件,如果需要更换模板文件,可以单击删除当前模板,重新添加所需的模板。 依赖文件 单击“添加文件”,上传所需的依赖文件。 作业配置 作业配置可以用来定义模板文件中工作流区域的变量值,取值如下: 默认配置:如果您需要修改默认的变量值,则选择“默认配置”,单击“添加文件”,上传JSON文件,执行作业时会读取JSON文件中定义的变量值。示例如下: 模板中定义了Int case = 1 workflow gcs_grammar {... # 选择执行分支,可用分支为 1/2/3,填写其他数字则跳过所有步骤 Int case = 1... JSON文件中可以重新定义Int case = 3 { "gcs_grammar.case": 3} 不启用:选择“不启用”,则执行模板中定义的变量值。 须知: 如果模板中存在未定义的变量值,则后续执行作业的过程中会报错。 执行参数 执行参数为执行作业时为引擎配置的执行指令,取值如下: 默认配置: 执行结果写缓存:如果开启,则执行作业时会将执行结果的输入和输出写入缓存中。 执行任务检查缓存:如果开启,则执行作业时接到输入指令,会优先去缓存中读取输出结果,如果存在结果,则不会重复执行该指令。 该功能使您可以通过管理控制台快速定义“执行结果写缓存”和“执行任务检查缓存”的取值,可以选择默认、开启、关闭。 如果选择开启,JSON示例如下: { "write_to_cache": true, "read_from_cache": true} 自定义配置:如果您需要定义更多引擎的执行指令,可以选择“自定义配置”,单击“添加文件”,上传JSON文件,执行作业时会读取JSON文件中定义的指令。更多指令请参见Workflow Options Overview。 不启用:选择“不启用”,则执行引擎默认的指令。 单击“创建”,即可创建作业。
  • 创建WDL作业 登录BCE控制台,左侧导航栏中选择“作业管理”。 在“WDL”页签下,单击“创建作业”。 配置参数,具体如表1所示。 表1 创建作业 参数 说明 作业名称 输入作业名称。要求如下: 长度范围为4~64个字符。 名称由小写字母、数字、中划线(-)组成。 以小写字母开头。 以小写字母或数字结尾。 模板文件 是一种遵循GCS流程或者WDL流程描述语法规范的文本文件,用于控制流程的详细步骤。GCS流程的语法规则请参见流程语法参考,WDL的语法规则请参见1.0 specification。 依赖文件 创建WDL作业模板时,单击“添加文件”,可添加依赖文件。 作业配置 可根据实际需求选择“默认配置”或“不启用”。 若选择“默认配置”,可输入配置文件或者单击“添加文件”,上传配置文件。 执行参数 可根据实际需求选择配置执行参数: 默认配置 执行结果写缓存:可根据实际需求选择“默认”、“开启”和“关闭”。 执行任务检查缓存:可根据实际需求选择“默认”、“开启”和“关闭”。 自定义配置:可输入配置文件或者单击“添加文件”,上传配置文件。 不启用:不配置执行参数。 单击“创建”,作业创建成功。
  • 创建WDL作业模板 登录BCE控制台,左侧导航栏中选择“作业模板”。 在“WDL作业模板”页签下,单击“创建WDL作业模板”,进入到创建作业模板的界面。 填写模板名称、版本、发布者、描述的字段,并单击“添加文件”上传作业模板文件。 表2 创建作业模板 参数 说明 模板名称 输入流程名称,默认为wdl-{Time+Nnumber},需要保证该值唯一。 版本 输入版本号,支持多版本(在流程管理界面可以添加版本)。 模板文件 是一种遵循GCS流程或者WDL流程描述语法规范的文本文件,用于控制流程的详细步骤。GCS流程的语法规则请参见流程语法参考,WDL的语法规则请参见1.0 specification。 依赖文件 单击“添加文件”,可添加依赖文件。 发布者 输入发布者名称。 描述 输入流程描述信息。 单击“创建”。
  • 通过模板创建GCS作业 登录BCE控制台,左侧导航栏中选择“作业模板”。 在“GCS作业模板”页签下,在已创建的模板列中,单击“以此版本创建作业”,进入到创建作业的界面。 配置参数,具体如表1所示。 表1 创建作业 参数 说明 作业名称 输入作业名称。要求如下: 长度范围为1~63个字符。 名称由小写字母、数字、中划线(-)组成。 以小写字母开头。 以小写字母或数字结尾。 资源池 选择已创建的资源池,若未创建,单击“创建资源池”。 高速共享存储 选择已创建的高速共享存储,若未创建,单击“创建高速共享存储”。 关联OBS存储 选择关联OBS存储,若未创建,单击“创建OBS存储”。 作业配置 配置“通用配置”和“高级配置”,可单击“添加作业”,添加多个作业。 通用配置 通用配置区域显示模板中inputs区域下的指令,指令的label为basic。 例如: inputs: command: default: "sleep 100000" description: 在容器内执行的命令 type: string label: basic ... 高级配置 高级配置区域显示模板中inputs区域下的指令,指令的label为advanced。 例如: inputs: ... memory: default: 1G description: 容器申请的内存 type: string label: advanced ... 优先级 设置当前任务优先级,优先级范围为[0-999],数值大的优先执行。 重试次数 任务失败重试次数,重试次数范围为[0-9],共享资源池默认重试0次。 批次名称 设置当前任务的批次,在执行结果页面可对批次进行过滤和筛选,便于批量操作同一个批次的任务。 超时时间 设置一个可接受的作业模板执行成功的时间,如果到这个时间作业模板没有执行成功,就会停止并且报执行失败。 单击“创建”,即可创建作业。
  • 创建GCS作业模板 登录BCE控制台,左侧导航栏中选择“作业模板”,在页面的右端有两个选项卡和“WDL作业模板”可以选择。 选择页面右上角的创建GCS作业模板或者创建WDL作业模板,进入到创建作业模板的界面。 登录BCE控制台,左侧导航栏中选择“作业模板”。 在“GCS作业模板”页签下,单击“创建GCS作业模板”,进入到创建作业模板的界面。 填写模板名称、版本、发布者、描述的字段,并单击“添加文件”上传作业模板文件。 表1 创建作业模板 参数 说明 模板名称 输入流程名称,默认为gcs-{Time+Nnumber},需要保证该值唯一。 版本 输入版本号,支持多版本(在流程管理界面可以添加版本)。 模板文件 是一种遵循GCS流程或者WDL流程描述语法规范的文本文件,用于控制流程的详细步骤。GCS流程的语法规则请参见流程语法参考,WDL的语法规则请参见1.0 specification。 发布者 输入发布者名称。 描述 输入流程描述信息。 单击“创建”。
  • 添加版本 登录BCE控制台,左侧导航栏中选择“作业模板”。 在“GCS作业模板”或“WDL作业模板”页签下,在已创建的模板列中,单击“添加版本”。 配置参数,具体如表1所示。 表1 创建作业模板 参数 说明 模板名称 保持默认值,不可修改。 版本 输入版本号。 模板文件 是一种遵循GCS流程或者WDL流程描述语法规范的文本文件,用于控制流程的详细步骤。GCS流程的语法规则请参见流程语法参考,WDL的语法规则请参见1.0 specification。 依赖文件 WDL作业模板才显示此参数。 单击“添加文件”,可添加依赖文件。 发布者 输入发布者名称。 描述 输入描述信息。 单击“添加”。
  • 作业执行状况 图1 作业执行状况 此卡片主要展示各个作业状态的个数,作业的状态包括执行中、删除中、成功、失败、等待中和其他。 从作业执行状态可以确定当前任务所属阶段,具体说明如表1所示。 表1 任务状态说明 状态 说明 执行中 任务正在执行中。 删除中 任务正在删除中。 成功 任务执行成功,可删除任务。 失败 任务执行失败。 等待中 任务准备执行中。 其他 不同的作业存在不重合的状态,将这些状态统一归类在其他中,例如:已提交任务。
  • 查看共享资源池 创建资源池后,可以通过查看资源池确认资源池的状态和信息。 登录BCE控制台,在左侧导航栏单击“资源池管理”。 在“共享资源池”页签,在资源池卡片中可以查看资源池的名称、资源池状态、VPC名称、VPC网段和命名空间类型。 图1 查看共享资源池 单击资源池名称,进入资源池详情页面。在资源池详情页面可以查看资源池、VPC和子网的详情信息。 图2 资源池详情页 单击命名空间名称、VPC名称和子网名称,可以分别进入云容器实例的命名空间页面、VPC页面、子网页面查看对应的详细信息。 单击“资源池名称”和“资源池描述”后的,可以修改资源池名称和资源池描述信息。
  • 资源池概述 资源池是BCE所需要使用的计算资源的集合。BCE的资源池由云容器实例(Cloud Container Instance,CCI)和云容器引擎(Cloud Container Engine,CCE)提供,分为专属资源池、共享资源池。 三种资源池对比如表1所示。 表1 资源池类型对比 对比项目 专属资源池 共享资源池 能力支撑 专属资源池由云容器引擎CCE支撑,CCE提供高可靠高性能的企业级容器应用管理服务。 共享资源池由云容器实例CCI服务的 Serverless Container(无服务器容器)引擎支撑。 优势 支持Kubernetes社区原生应用和工具,简化云上自动化容器运行环境搭建。 让您无需创建和管理服务器集群即可直接运行容器。 功能 使用云容器引擎,您可以管理集群和节点资源。 使用云容器实例,您不再需要关注集群和服务器,通过简单的配置即可快速创建容器负载。如果基因分析流程是成熟稳定的,建议您使用云容器实例环境,可以省去对资源的关注。 参考文档 云容器引擎用户指导 专属资源池 云容器实例用户指导 共享资源池 父主题: 资源池管理
  • 生成GCS流程示例 该命令将会生成以下模板,并提交基因容器语法解析器: 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940414243444546 version: genecontainer_0_1inputs: memory: default: 1g type: string cpu: default: 1c type: string tool: default: bwa:0.7.12 type: string job-script: default: bwa_help.sh type: string jobid: default: bwa-help-2018-0830-171114-00d34 type: string shell: default: sh type: stringworkflow: bwa-help-2018-0830-171114-00d34: tool: bwa:0.7.12 type: GCS.Job resources: memory: ${memory} cpu: ${cpu} commands: - sh /obs/gcscli/bwa-help-2018-0830-171114-00d34/bwa_help.shvolumes: sample-data: mount_path: /obs mount_from: pvc: ${BCE_DATA_PVC} temp-data: mount_path: /sfs mount_from: pvc: ${BCE_SFS_PVC} ref-data: mount_path: /ref mount_from: pvc: ${BCE_REF_PVC}outputs: bwa-help-2018-0830-171114-00d34: path: - /obs/output/bwa-help-2018-0830-171114-00d34
  • 概述 作业管理可查看分析作业模板执行过程数据、状态、进展、结果等信息。您可根据业务需求选择创建Argo作业、WDL作业和GCS作业。 Argo作业、WDL作业和GCS作业的说明如表1所示。 表1 作业说明 作业类型 说明 Argo作业 通过Argo workflow创建的批量计算作业。主要用于创建AI任务和HPC(High Performance Compute)任务。广泛应用于高性能计算、图片处理、美颜、游戏AGI、科学计算等领域。 WDL作业 通过Cromwell可以将WDL(Workflow Description Language)描述的workflow运行在CCI容器中。您只需为作业运行时实际消耗的计算和存储资源付费,不需要支付资源之外的附加费用。通过WDL格式的模板创建WDL作业。广泛应用于基因测序、药物检测等领域。 GCS作业 通过GCS格式的模板创建GCS作业。广泛应用于DNA、RNA、液态活检等主流生物基因分析、药物检测等领域。 父主题: 作业管理
  • 复杂依赖任务(DAG) 如果有四个任务,a/b/c/d 我们希望首先执行 任务 a,然后执行 b/c,b/c 同时完成后,最后执行 d,如下图所示: 为了实现这个目标,需要引入 depends 字段。以任务 d为例,完成任务 d 需要首先完成任务 b/c,则depends 字段为: depends: - target: b type: whole - target: c type: whole 完整代码如下: version: genecontainer_0_1inputs: memory: default: 1g type: string cpu: default: 1c type: string tool: default: bwa:0.7.12 type: string shell: default: sh type: stringworkflow: a: tool: bwa:0.7.12 type: GCS.Job resources: memory: 1g cpu: 1c commands: - echo "A" b: tool: bwa:0.7.12 type: GCS.Job resources: memory: 1g cpu: 1c commands: - echo "B" depends: - target: a type: whole c: tool: bwa:0.7.12 type: GCS.Job resources: memory: 1g cpu: 1c commands: - echo "C" depends: - target: a type: whole d: tool: bwa:0.7.12 type: GCS.Job resources: memory: 1g cpu: 1c commands: - echo "D" depends: - target: b type: whole - target: c type: wholevolumes: sample-data: mount_path: /obs mount_from: pvc: ${GCS_DATA_PVC} temp-data: mount_path: /sfs mount_from: pvc: ${GCS_SFS_PVC} ref-data: mount_path: /ref mount_from: pvc: ${GCS_REF_PVC} 父主题: 流程语法示例
  • workflow配置样例 workflow: job-a: tool: nginx:latest type: GCS.Job resources: memory: 2G cpu: 1c commands: - sleep `expr 3 \* ${wait-base}`; echo ${output-prefix}job-a | tee -a ${obs}/${output}/${result}; job-b: tool: nginx:latest type: GCS.Job commands_iter: command: sleep `expr ${1} \* ${wait-base}`; echo ${output-prefix}job-b-${item} | tee -a ${obs}/${output}/${result}; vars_iter: - range(0, 4) #内置函数range,实际表示 [0, 1, 2, 3]。最终并发执行4个容器,每个使用数组成员替代 depends: - target: job-a type: whole #可不写,whole为默认值 job-c: tool: nginx:latest type: GCS.Job resources: memory: 8G cpu: 2c commands_iter: command: sleep `expr ${1} \* ${wait-base}`; echo ${output-prefix}job-c-${item} | tee -a ${obs}/${output}/${result}; vars_iter: - [3, 20] #最终并发2个容器,每个使用数组成员替代 depends: - target: job-a type: iterate - target: job-b
  • 查看专属资源池 登录BCE控制台,在左侧导航栏单击“资源池管理”。 在“专属资源池”页签下,在资源池列表中可以查看资源池的名称、资源池状态、集群版本、集群规格、节点池和可用节点等信息。 在专属资源池卡片上,单击专属资源池名称,例如:bce-test0421,可查看专属资源池的详细信息。 单击右上角“休眠”,可以对集群进行休眠,单击“删除”可以删除资源池。 单击“资源池名称”, “资源池描述”, 可对资源池的名称,描述进行修改更新。 单击“集群名称”,可进入CCE服务页面,查看集群的详细信息。
  • 如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。不过,在基础设施、BGP网络品质、资源的操作与配置等方面,中国大陆各个区域间区别不大,如果您或者您的目标用户在中国大陆,可以不用考虑不同区域造成的网络时延问题。 在除中国大陆以外的亚太地区有业务的用户,“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“南非-约翰内斯堡”区域。 在欧洲地区有业务的用户,可以选择“欧洲-巴黎”区域。 在拉丁美洲地区有业务的用户,可以选择“拉美-圣地亚哥”区域。 “拉美-圣地亚哥”区域位于智利。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
  • 什么是区域、可用区? 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
  • 容器批量计算与其他服务的关系 表1 容器洞察引擎与其他服务的关系 服务名称 BCE与其他服务的关系 主要交互功能 云容器引擎 CCE BCE的专属资源池由CCE服务创建。CCE提供高可靠高性能的企业级容器应用管理服务。 创建专属资源池 云容器实例 CCI BCE的共享资源池由云容器实例CCI服务的Serverless Container(无服务器容器)引擎支撑。 创建共享资源池 容器镜像服务 SWR BCE使用容器镜像服务存储工具镜像,包括内置工具及自定义工具的存储。容器镜像服务(Software Repository for Container)是一种支持容器镜像全生命周期管理的服务, 提供简单易用、安全可靠的镜像管理功能,帮助用户快速部署容器化服务。 创建Argo作业 创建WDL作业 创建GCS作业 对象存储服务 OBS 存储用户上传的GCS/WDL模板。 创建作业模板 统一身份认证 服务 IAM 获取用户权限信息。 登录控制台 权限管理
  • 桶 桶(Bucket)是对象存储(Object Storage Service,简称OBS)中存储对象的单位。对象存储提供了基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,去除了文件系统中的多层级树形目录结构。对象存储服务设置有三类存储类别,分别为:标准存储、低频访问存储、归档存储,从而满足客户业务对存储性能、成本的不同诉求。创建桶时可以指定桶的存储类别。桶的存储类别可以修改。基因容器中桶可用于存储分析前后产生的数据,包括原始基因数据、流程执行中间数据及执行结果数据。
  • 什么是容器批量计算 容器批量计算(Batch Container Engine,简称BCE)服务聚焦泛互联网行业,重点围绕HPC、AI/大数据、基因等场景构建解决方案和竞争力,基于云容器引擎(Cloud Container Engine,简称CCE)、云容器实例(Cloud Container Instance,简称CCI)、智能边缘平台(Intelligent EdgeFabric,简称IEF)等基础设施,提供多集群、多任务/异构资源混合调度能力,并支持多队列管理,方便多业务进行应用规划。BCE基于Volcano构建混合调度能力,可以支持批量作业的并发调度,在容器技术的加持下,BCE可以做到秒级应用部署,且能按照使用量计费,为您提供最佳性价比和最高效部署能力的批量任务解决方案。 图1 容器批量计算架构图
  • BCE权限 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 BCE部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华东-上海一)对应的项目(cn-east-3)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问BCE时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对BCE服务,管理员能够控制IAM用户仅能对某一类容器批量计算资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,BCE支持的API授权项请参见权限策略和授权项。
  • 基本概念 镜像 容器镜像是一个应用的快照。例如,一个容器镜像可以包含一个完整的Ubuntu操作系统环境,里面仅安装了用户需要的应用程序及其依赖文件。容器镜像用于创建容器,您也可以下载其他人已经创建好的镜像来使用。 容器 容器是对软件和其依赖环境的标准化打包,可以实现应用层面的隔离,并且可以运行在主流的操作系统上。 镜像类似于操作系统,而容器类似于虚拟机。它可以被启动、开始、停止、删除等操作,每个容器都是相互隔离的 流程 基因测序流程包含测序过程所需工具的执行先后信息以及数据输入输出等定义。流程由至少一个工具组成。流程中的各个工具由其前后顺序关系形成数据流,前序工具为后序工具提供输入。 流程描述文件 基因容器提供特定的描述语言,用于控制流程的详细步骤。基因容器的流程描述文件的编写请参见流程语法参考。 工具 工具是生物信息软件的镜像封装,工具既可以编排入流程串联使用,也可以独立使用,同时用户可以制作自定义工具,这些工具都存放在工具仓库中。 OBS 对象存储服务(Object Storage Service,OBS)是华为云中基于对象的存储服务,可以为您提供海量、安全、高可靠、低成本的数据存储能力。 桶 桶(Bucket)是OBS中存储对象的容器。对象存储提供了基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,去除了文件系统中的多层级树形目录结构。 对象存储服务设置有三类存储类别,分别为:标准存储、低频访问存储、归档存储,从而满足客户业务对存储性能、成本的不同诉求。创建桶时可以指定桶的存储类别。桶的存储类别可以修改。 SFS 弹性文件服务(Scalable File Service,SFS)为您的弹性云服务器(Elastic Cloud Server,ECS)提供一个完全托管的共享文件存储,能够弹性伸缩至PB规模,具备可扩展的性能,为海量数据、高带宽型应用提供有力支持。
  • 文档导读 基因容器的计算环境可以使用云容器实例(Cloud Container Instance,CCI)、云容器引擎(CloudContainer Engine,CCE)、Cromwell引擎和病毒基因分析平台。 云容器实例,不需要关注底层计算资源的创建与维护,通过简单的配置即可快速部署容器负载。如果基因分析流程成熟稳定,建议您使用云容器实例环境,可以省去对资源的关注。基于云容器实例的快速入门,请参见基于CCI执行gcs-grammar流程。 云容器引擎,您需要创建管理集群及节点资源。云容器引擎使与云容器实例不同点在于环境的底层资源不同,其余基本相同。 Cromwell引擎,Cromwell 是 Broad Institute 开发的工作流管理系统。通过 Cromwell 可以将 WDL(Workflow Description Language) 描述的 workflow 运行在CCI容器中。详细使用方法请参见Cromwell引擎使用指南。 病毒基因分析平台,使用基因容器分析病毒基因组,实时反馈分析结果,简单易用,请参见病毒基因组分析平台入门。
  • 常见问题 我不懂容器技术,可以使用基因容器服务吗? 基因容器已将容器技术实现做了封装,提供了简单易用的控制台界面,您可以基于基因容器提供的控制台快速开始基因测序分析,无需额外了解容器或是云计算等相关技术。 已有测序流程和工具迁移到基因容器服务上,方便吗? 方便。基因容器提供了工具仓库,用于存储自有工具,此外,您可基于基因容器提供的图形化编辑器,通过界面上拖拽的方式,快速创建测试流程,从而将已有测试流程迁移至基因容器服务上。
  • 查看分析结果 测序流程执行时间需要数小时,具体时长与环境资源类型、环境资源大小、处理数据大小等相关。使用测试数据,预计要20分钟。 执行过程可以通过“执行结果”页面查看,可查看内容包括“任务进度图”、“流程事件”、“任务事件”、“日志”、“输入”、“输出”和“监控”等。 gcs-grammar流程在exec-script-flie步骤会执行echo hello world命令,可以在日志中看到该步骤输出的日志。选中“日志”标签,找到exec-script-flie的输出日志文件。 单击“查看”,跳转到应用运维服务中,可以查看到stdout.log输出了hello world。
共100000条