argo workflow 数据共享

在Kubernetes的ArgoWorkflow中,不同步骤通过artifacts共享数据,如文件和文件夹。例如,一个步骤从GitLab克隆代码并创建名为step1-code的artifact,然后将其作为输入传递给后续步骤,解压并使用这些数据进行操作。
摘要由CSDN通过智能技术生成

在 Kubernetes Argo Workflow 中,不同步骤之间可以通过使用 artifacts 来共享数据(包括文件和文件夹)。artifacts 可以通过 Workflow Spec 的 outputs 和 inputs 字段进行定义和引用。

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  namespace: kubeflow
  name: wf32
spec:
  entrypoint: main
  serviceAccountName: ml-pipeline
  hostNetwork: true
  imagePullSecrets:
    - name: harbor-secret
  templates:
  - name: main
    steps:
    - - name: step1
        template: get-code
    - - name: step2
        template: get-data
        arguments:
          artifacts:
          - name: abc
            from: "{{steps.step1.outputs.artifacts.step1-code}}"
  - name: get-code
    container:
      image: xxxx/system-diy/git-clone:v2
      command: ["/bin/sh","-c", "/usr/local/git.sh br_0 http://user:token@xxxx/a.git"]
    outputs:
      artifacts:
      - name: step1-code
        path: /usr/local/code
  - name: get-data
    container:
      image: alpine:latest
      command: ["/bin/sh","-c"]
      args: ["cat /usr/local/a/x324/abc.txt"]
    inputs:
      artifacts:
      - name: abc
        path: /usr/local

在这里例子中,第一个步骤step1 使用模板get-code,将代码从gitlab上下载回来(镜像内部处理是放到/usr/local/code下),并将路径path为 /usr/local/code下的所有内容生成一个名字叫 step1-code的artifact,默认是打包的。
步骤2中,
arguments:
artifacts:
- name: abc
from: “{{steps.step1.outputs.artifacts.step1-code}}”
是将第一步中的输出作为参数传入,名字为abc.
在模板get-data执行时,
使用
inputs:
artifacts:
- name: abc
path: /usr/local
将名字为abc的文件解压并放到路径 path /usr/local下。

以此来实现 第一步骤的输出作为第二步骤的输入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祺稷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值