BpFile(id=261, bpId=112, name=基因计算工作流, author=null, keyword=基因计算,工作流,Argo, description=利用容器服务Kubernetes版中的工作流机制,配合共享存储NAS完成基因计算。, position=null, ossUrl=bp-STS7O07W2G35PP9J.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=0, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
场景描述
适合利用容器服务Kubernetes版上的工作流
引擎进行大规模基因测序的场景。阿里云工作流
引擎基于开源项目Argo实现,支持并发、循环、
重试等多种执行策略。典型的基因计算过程会把
数据分批进行计算,按照规定好的步骤依次完成
计算,这符合工作流的特点:多层次,有向无环
图。
解决问题
1.基因计算如何构建工作流
2.容器服务Kubernetes版结合
共享文件存储NAS提供数据
服务
3.构建单POD工作流
产品列表
容器服务Kubernetes版
文件存储NAS
, templateId=null, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=null, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1
基因计算工作流 最佳实践
架构图
场景描述
适合利用容器服务 Kubernetes 版上的工作流
引擎进行大规模基因测序的场景。阿里云工作流
引擎基于开源项目 Argo实现,支持并发、循环、
重试等多种执行策略。典型的基因计算过程会把
数据分批进行计算,按照规定好的步骤依次完成
计算,这符合工作流的特点:多层次,有向无环
图。
解决问题
1. 基因计算如何构建工作流
2. 容器服务 Kubernetes版结合
共享文件存储 NAS 提供数据
服务
3. 构建单 POD工作流
产品列表
容器服务 Kubernetes版
文件存储 NAS
2文档模板(手册名称)/Error! Use the Home tab to apply
云服务器 ECS(产品名称) 标题 to the text that you want to appear here.
阿里云
企业上云实践
基因计算工作流最佳实践
文档版本:20191127 II
3基因计算工作流最佳实践 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 基因计算工作流最佳实践
文档编号 112
文档版本 V1.1
版本日期 2019-11-27
文档状态 外部发布
制作人 敬海
审阅人 期会 毕役
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2019-10-20 敬海 期会 毕役 创建
V1.1 2019-11-27 筱晖 期会 毕役 文档优化
文档版本:20191127 I
4基因计算工作流最佳实践 前言
前言
概述
本文介绍了使用阿里云的容器服务 Kubernetes版搭建基因工作流作业的最佳实践。
这里的工作流是基于 argo开发的,是作为 Kubernetes CRD(自定义资源定义)实现
的,为 Kubernetes提供容器化的本地工作流程。工作流控制器提供完整的工作流程功
能,包括参数替换,存储,循环和递归工作流程。
应用范围
使用阿里云的容器服务 Kubernetes 版搭建基因计算工作流实现基因计算,其他计算
场景使用工作流也可以。
名词解释
容器服务 Kubernetes版(ACK):容器服务 Kubernetes版提供高性能可伸缩的容
器应用管理服务,支持企业级 Kubernetes(K8S)容器化应用的生命周期管理。
容器服务 Kubernetes版简化集群的搭建和扩容等运维工作,整合阿里云虚拟化、
存储、网络和安全能力,打造云端最佳的 Kubernetes容器化应用运行环境。阿里
云容器服务是全球首批通过 Kubernetes 一致性认证的云平台服务,也是
Kubernetes 认证服务供应商,可以为您提供专业的容器支持和服务。更多信息,
请参见 https://help.aliyun.com/document_detail/86737.html
工作流:基于 argo开发的,为 Kubernetes提供容器化的本地工作流程。工作流
程中的每个步骤都定义为容器。作为 Kubernetes CRD(自定义资源定义)实现
的。 因此,可以使用 kubectl管理工作流,并与其他 Kubernetes 服务本地集成,
例如 Volumes、Secrets 和 RBAC。 工作流控制器提供完整的工作流程功能,包
括参数替换,存储,循环和递归工作流程。更多信息,请参见
https://help.aliyun.com/document_detail/119725.html
RAM (Resource Access Management):使您能够安全地集中管理对阿里云服
务和资源的访问。您可以使用 RAM 创建和管理用户和组,并使用各种权限来允
许 或 拒 绝 他 们 对 云 资 源 的 访 问 。 更 多 信 息 , 请 参 见
https://help.aliyun.com/document_detail/28627.html
阿里云文件存储 NAS:是一个可共享访问,弹性扩展,高可靠,高性能的分布式
文件系统。兼容 POSIX 文件接口,可支持数千台计算节点共享访问,可以挂载到
弹性计算 ECS、神龙裸金属、容器服务 ACK、弹性容器 ECI、批量计算 BCS、高
文档版本:20191127 III
5基因计算工作流最佳实践 前言
性能计算 EHPC,AI训练 PAI等计算业务上提供高性能的共享存储,用户无需修
改应用程序,即可无缝迁移业务系统上云。更多信息,请参见
https://www.aliyun.com/product/nas
文档版本:20191127 IV
6基因计算工作流最佳实践 目录
目录
文档版本信息 ........................................................................................................................................................ I
法律声明 ............................................................................................................................................................... II
前言 ..................................................................................................................................................................... III
目录 ...................................................................................................................................................................... V
最佳实践概述 ....................................................................................................................................................... 1
前置条件 ............................................................................................................................................................... 2
1. 开通容器服务并授权 ............................................................................................................................ 4
2. 建立子账号并授权 ................................................................................................................................ 5
2.1. 建立子账号 .................................................................................................................................... 5
2.2. 给子账号授权 ................................................................................................................................ 7
3. 创建容器服务ACK集群 ........................................................................................................................ 9
3.1. 子账号登录 .................................................................................................................................... 9
3.2. 创建VPC ........................................................................................................................................ 9
3.3. 创建ACK集群 .............................................................................................................................. 13
4. 工作流配置 .......................................................................................................................................... 19
4.1. 安装工作流插件 .......................................................................................................................... 19
4.2. 获取集群测试域名....................................................................................................................... 20
4.3. 配置argo对外服务 ..................................................................................................................... 20
4.4. 提交工作流作业 .......................................................................................................................... 22
4.4.1. 单pod工作流 ..................................................................................................................... 22
4.4.2. 共享存储的工作流 ............................................................................................................. 25
4.4.3. 工作流Mapping步骤简介 ................................................................................................. 35
4.5. 基于命令行管理工作流 ............................................................................................................... 36
4.5.1. 下载安装AGS ..................................................................................................................... 36
4.5.2. 初始化ags配置 .................................................................................................................. 37
4.5.3. 重新部署工作流资源 ......................................................................................................... 37
4.5.4. 配置日志服务 ..................................................................................................................... 38
4.5.5. 创建workflow ..................................................................................................................... 39
4.5.6. 查看资源消耗情况 ............................................................................................................. 41
文档版本:20191127 V
7基因计算工作流最佳实践 最佳实践概述
最佳实践概述
场景描述
本文适合利用ACK上的工作流引擎进行大规模基因测序的场景。阿里云工作流引擎基
于开源项目Argo实现,支持并发、循环、重试等多种执行策略。典型的基因计算过程
会把数据分批进行计算,按照规定好的步骤依次完成计算,这符合工作流的特点:多
层次,有向无环图。
方案架构
基因计算所用数据存放到共享存储 NAS上,所有节点计算时访问 NAS上的数据,结
果也存储到 NAS上。通过 Ingress服务提供 Argo UI供查看工作流使用。
方案优势
使用容器部署应用,敏捷,弹性,可移植。
容器服务 ACK已打通阿里云生态 20+产品,提供了极致弹性,海量镜像分发。
共享存储 NAS/CPFS提供不同性能的共享存储,满足不同性能需求。
增强型工作流完全兼容 argo命令,并支持基于最近失败断点 retry整个 workflow。
文档版本:20191127 1
8基因计算工作流最佳实践 前置条件
前置条件
在进行本实践前,您需要完成以下准备工作:
注册阿里云账号,并完成实名认证。
说明 :您可以登录阿里云控制台,并前往实人认证页面
(https://account.console.aliyun.com/v2/#/authc/home),查看是否已经完成实名
认证。
阿里云账户余额大于 100元。
说明 :您可以登录阿里云 控制台,并前往账户总览页面
(https://expense.console.aliyun.com/#/account/home),查看当前账户余额。
阿里云账号下已开通以下阿里云服务:
ᅳ 容器服务 Kubernetes版
ᅳ 文件存储 NAS服务
ᅳ 资源编排(ROS)服务
ᅳ 访问控制(RAM)服务
ᅳ 日志服务(SLS)
ᅳ 弹性伸缩服务(ESS)
ᅳ 文件存储 NAS服务
下载本文用到的操作命令和代码:
以 CentOS主机为例:
# yum -y install git
# git clone https://code.aliyun.com/best-practice/112.git
遇到问题,请扫钉钉二维码联系作者获取支持。
文档版本:20191127 2