工作流在Kubernetes集群中的实践

本文主要介绍如何在ACK上基于工作流引擎进行大规模基因测序工作。阿里云工作流引擎基于开源项目Argo实现,支持并发、循环、重试等多种执行策略。

实验步骤:

依赖配置:
  1. 创建集群
  2. 安装AGS插件;
  3. 配置argo-ui;
  4. 创建NAS共享存储卷

实验:
  任务解析;
  试验一:单任务执行;
  试验二:多任务执行;

1. 创建集群:

拿到集群测试域名;c84e9207b8f6b49968cb5570aff4e6581.cn-beijing.alicontainer.com

image

2. 安装AGS插件;

image

3. 配置argo-ui:

image

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: workflow-ingress
  namespace: argo
spec:
  rules:
  - host: workflow.c84e9207b8f6b49968cb5570aff4e6581.cn-beijing.alicontainer.com
    http:
      paths:
      - path: /
        backend:
          serviceName: argo-ui
          servicePort: 80

通过界面登陆argo-ui: workflow.c84e9207b8f6b49968cb5570aff4e6581.cn-beijing.alicontainer.com

4. 创建NAS卷 

登陆NAS控制台:

扫描二维码关注公众号,回复: 6593247 查看本文章

image

创建NAS盘后,添加挂载点:

image

获取挂载点地址:

image

Mapping步骤介绍:

image

数据准备:

        wget reference;
        wget fastq1;
        wget fastq2;
        gzip -d subset_assembly.fa.gz;
        gunzip -c SRR1976948_1.fastq.gz | head -800000 > SRR1976948.1;
        gunzip -c SRR1976948_2.fastq.gz | head -800000 > SRR1976948.2;
        bwa index subset_assembly.fa;

比对到参考序列sai:

        bwa aln subset_assembly.fa SRR1976948.1 > SRR1976948_1.untrimmed.sai;
        bwa aln subset_assembly.fa SRR1976948.2 > SRR1976948_2.untrimmed.sai;

生成sam、bam文件:

        bwa sampe subset_assembly.fa SRR1976948_1.untrimmed.sai SRR1976948_2.untrimmed.sai SRR1976948.1 SRR1976948.2 > SRR1976948.untrimmed.sam;
        samtools import subset_assembly.fa SRR1976948.untrimmed.sam SRR1976948.untrimmed.sam.bam;
        samtools sort SRR1976948.untrimmed.sam.bam -o SRR1976948.untrimmed.sam.bam.sorted.bam;
        samtools index SRR1976948.untrimmed.sam.bam.sorted.bam;

5. 试验一:

不使用共享存储,通过单一pod实现,挂载主机目录,运行完成可以从日志查看结果;

image

到Argo-UI上看运行拓扑图:

image

5. 试验二:

使用多个任务完成,并使用共享nas存储,运行完成可以从日志查看结果;

image

到Argo-UI界面查看:

image

猜你喜欢

转载自yq.aliyun.com/articles/705929