天天看點

工作流在Kubernetes叢集中的實踐

本文主要介紹如何在ACK上基于工作流引擎進行大規模基因測序工作。阿裡雲工作流引擎基于開源項目Argo實作,支援并發、循環、重試等多種執行政策。

實驗步驟:

依賴配置:
  1. 建立叢集
  2. 安裝AGS插件;
  3. 配置argo-ui;
  4. 建立NAS共享存儲卷

實驗:
  任務解析;
  試驗一:單任務執行;
  試驗二:多任務執行;           

1. 建立叢集:

拿到叢集測試域名;c84e9207b8f6b49968cb5570aff4e6581.cn-beijing.alicontainer.com

工作流在Kubernetes叢集中的實踐

2. 安裝AGS插件;

工作流在Kubernetes叢集中的實踐

3. 配置argo-ui:

工作流在Kubernetes叢集中的實踐
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控制台:

工作流在Kubernetes叢集中的實踐

建立NAS盤後,添加挂載點:

工作流在Kubernetes叢集中的實踐

擷取挂載點位址:

工作流在Kubernetes叢集中的實踐

Mapping步驟介紹:

工作流在Kubernetes叢集中的實踐

資料準備:

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實作,挂載主機目錄,運作完成可以從日志檢視結果;

工作流在Kubernetes叢集中的實踐

到Argo-UI上看運作拓撲圖:

工作流在Kubernetes叢集中的實踐

5. 試驗二:

使用多個任務完成,并使用共享nas存儲,運作完成可以從日志檢視結果;

工作流在Kubernetes叢集中的實踐

到Argo-UI界面檢視:

工作流在Kubernetes叢集中的實踐

繼續閱讀