IDC

Docker 作业提交 - 批量计算

作者:admin 2021-09-19 我要评论

BatchCompute 中, 提交作业时使用 docker 与普通 VM 作业基本相同,只是在设置作业参数时有稍微区别。 1. DAG 作业 1.1 使用支持 Docker 的 ImageId 需要将集群...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

BatchCompute 中, 提交作业时使用 docker 与普通 VM 作业基本相同,只是在设置作业参数时有稍微区别。

1. DAG 作业

1.1 使用支持 Docker 的 ImageId

需要将集群描述的 ImageId 指定为 BatchCompute 的公共镜像的 Id(支持 Docker 镜像, ID 为 img-ubuntu)。

AutoCluster 集群 ImageId 设置代码:

  1. //设置AutoCluster集群ImageID
  2. AutoCluster autoCluster = new AutoCluster();
  3. //设置集群镜像信息ECSImageId 在不同region可能会发生变化
  4. //autoCluster.setECSImageId("m-wz9dk5nao5z3fw6bo9k6");
  5. //建议使用setImageId接口设置
  6. autoCluster.setImageId("img-ubuntu");

固定集群 ImageId 设置代码:

  1. ClusterDescription desc = new ClusterDescription();
  2. desc.setName("cluster_test");
  3. desc.setImageId("img-ubuntu");

1.2 Docker 镜像在 OSS

需要 DAG 作业环境变量(EnvVars)中增加如下两个参数如下,具体 EnvVars 变量在 DAG 作业中的位置,参考API文档

字段名称 描述 是否可选
BATCH_COMPUTE_DOCKER_IMAGE Docker 镜像名称 可选
BATCH_COMPUTE_DOCKER_REGISTRY_OSS_PATH Docker 镜像在 OSS-Registry 中的存储路径 可选
  • 如果没有 BATCH_COMPUTE_DOCKER_IMAGE 参数,表示不使用 docker ,这时 BATCH_COMPUTE_DOCKER_REGISTRY_OSS_PATH 将被忽略。
  • 如果有 BATCH_COMPUTE_DOCKER_IMAGE, 则表示使用 docker。

示例代码:

  1. //oss registry模式
  2. cmd.addEnvVars("BATCH_COMPUTE_DOCKER_IMAGE", "localhost:5000/yuorBucket/dockers:0.1");//镜像名称:版本;
  3. cmd.addEnvVars("BATCH_COMPUTE_DOCKER_REGISTRY_OSS_PATH", "oss://your-bucket/dockers");//设置OSS地址

1.3 Docker 镜像在容器镜像仓库

需要 DAG 作业 Docker 变量设置容器镜像仓库地址以及镜像版本号如下,具体 Docker 变量在 DAG 作业中的位置,参考API文档

示例代码

  1. //容器镜像模式
  2. Command.Docker docker = new Command.Docker();
  3. docker.setImage("registry.cn-beijing.aliyuncs.com/demotest/test:0.1");
  4. cmd.setDocker(docker);

1.4 创建作业的源码

JAVA 源码参考作业创建SDK描述

2. APP 作业

APP在创建的时候指定是VM 运行还是 docker运行作业,因此需要在创建APP时配置,APP描述中设置docker配置。Docker 镜像在 OSS 和镜像在容器镜像仓库 参数相同,只是设置方法存在差异。

2.1 Docker 镜像在 OSS

示例代码

  1. //设置docker oss registry 模式
  2. AppDescription.Docker docker = new AppDescription.Docker();
  3. docker.setImage("localhost:5000/yuorBucket/dockers:0.1");//镜像信息
  4. docker.setRegistryOSSPath("oss://your-bucket/dockers");//OSS 地址
  5. desc.setDocker(docker);

2.2 Docker 镜像在 容器镜像仓库

示例代码

  1. //设置docker oss registry 模式
  2. AppDescription.Docker docker = new AppDescription.Docker();
  3. //设置docker 容器镜像服务 模式
  4. docker.setImage("registry.cn-beijing.aliyuncs.com/demotest/test:0.1");//镜像信息
  5. desc.setDocker(docker);

2.3 创建APP的源码

JAVA 源码参考APP创建SDK描述

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Docker 作业提交 - 批量计算

    Docker 作业提交 - 批量计算

  • 创建反向解析_云解析服务 DNS_用户指南

    创建反向解析_云解析服务 DNS_用户指南

  • 在线教育平台用知识搭建“抗疫桥梁”—

    在线教育平台用知识搭建“抗疫桥梁”—

  • 容器镜像服务 手动执行版本保留 - API

    容器镜像服务 手动执行版本保留 - API

腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商