Artefak memungkinkan langkah-langkah alur kerja untuk pass parameter: output dari satu langkah dapat menjadi input langkah lainnya, sehingga memungkinkan orkestrasi multi-langkah yang kompleks. Topik ini menjelaskan cara menggunakan Alibaba Cloud OSS sebagai penyimpanan artefak dan meneruskan data antar langkah alur kerja.
Prasyarat
Konfigurasikan OSS sebagai backend artefak dan jalankan alur kerja
Konfigurasikan OSS sebagai repositori artefak
Konfigurasikan Alibaba Cloud OSS sebagai backend penyimpanan artefak untuk kluster alur kerja Anda.
Buat definisi alur kerja
Buat file bernama artifact-passing.yaml:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: artifact-passing-
spec:
entrypoint: artifact-example
templates:
- name: artifact-example
steps:
- - name: generate-artifact
template: whalesay
- - name: consume-artifact
template: print-message
arguments:
artifacts:
# bind message ke artefak hello-art
# yang dihasilkan oleh langkah generate-artifact
- name: message
from: "{{steps.generate-artifact.outputs.artifacts.hello-art}}"
- name: whalesay
container:
image: docker/whalesay:latest
command: [sh, -c]
args: ["cowsay hello world | tee /tmp/hello_world.txt"]
outputs:
artifacts:
# hasilkan artefak hello-art dari /tmp/hello_world.txt
# artefak dapat berupa direktori maupun file
- name: hello-art
path: /tmp/hello_world.txt
- name: print-message
inputs:
artifacts:
# ekstrak artefak input message
# dan letakkan di /tmp/message
- name: message
path: /tmp/message
container:
image: alpine:latest
command: [sh, -c]
args: ["cat /tmp/message"]
Alur kerja ini menjalankan dua langkah:
-
Templat
whalesaymenjalankancowsay hello world, menulis output ke/tmp/hello_world.txt, lalu mengemasnya sebagai artefakhello-art. -
Templat
print-messagemenerimahello-art(melalui{{steps.generate-artifact.outputs.artifacts.hello-art}}), mengekstraknya ke/tmp/message, lalu mencetak isinya.
Kirim alur kerja
argo submit artifact-passing.yaml
Periksa status alur kerja
argo list
Langkah selanjutnya
-
Konfigurasi repositori artefak Argo Workflows — konfigurasikan backend penyimpanan tambahan atau tetapkan pengaturan default tingkat repositori.