Topik ini memandu Anda dalam membuat dan menjalankan alur kerja hello-world di kluster ACK menggunakan Argo CLI.
Prasyarat
Sebelum memulai, pastikan Anda telah:
-
Menginstal komponen Argo Workflows dan mengonfigurasi Alibaba Cloud Argo CLI. Untuk instruksi penyiapan, lihat Aktifkan orkestrasi tugas batch.
Cara kerja
Jika Anda pernah menjalankan kontainer dengan Docker, alur kerja Argo melakukan hal serupa—namun di kluster Kubernetes:
docker run mirrors-ssl.aliyuncs.com/busybox:latest echo "hello world"
Alur kerja Argo membungkus eksekusi kontainer tersebut dalam sebuah resource Kubernetes. Alih-alih menggunakan perintah CLI, Anda mendefinisikan kontainer, perintah, dan argumennya dalam file YAML, lalu mengirimkannya ke kluster.
Buat dan jalankan alur kerja
Langkah 1: Definisikan alur kerja
Buat file bernama helloworld-workflow.yaml dengan konten berikut:
apiVersion: argoproj.io/v1alpha1
kind: Workflow # Mendefinisikan jenis resource Kubernetes baru untuk Argo Workflows.
metadata:
generateName: hello-world- # Awalan untuk nama alur kerja. Kubernetes akan menambahkan akhiran unik.
spec:
entrypoint: main # Menentukan templat yang dieksekusi pertama kali.
templates:
- name: main # Nama templat.
container:
image: mirrors-ssl.aliyuncs.com/busybox:latest
command: [ echo ]
args: [ "hello world" ]
Bidang utama:
| Field | Description |
|---|---|
kind: Workflow |
Mendeklarasikan ini sebagai resource alur kerja Argo di Kubernetes. |
generateName |
Menetapkan awalan nama. Kubernetes menambahkan akhiran acak, menghasilkan nama unik seperti hello-world-k8pz2 untuk setiap pengiriman. |
entrypoint |
Menentukan templat mana yang dijalankan pertama kali. Dalam alur kerja multi-langkah, di sinilah eksekusi dimulai. |
templates |
Mendefinisikan unit-unit pekerjaan. Setiap templat dapat berupa kontainer, skrip, atau rangkaian langkah. |
Langkah 2: Kirim alur kerja
Jalankan perintah berikut untuk mengirim alur kerja ke namespace argo:
argo submit helloworld-workflow.yaml -n argo
Langkah 3: Periksa status alur kerja
-
Daftar semua alur kerja di namespace:
argo list -n argoOutputnya mirip dengan:
NAME STATUS AGE DURATION PRIORITY hello-world-XXXXX Succeeded 2m 37s 0Status
Succeededmenunjukkan bahwa alur kerja telah selesai. -
Ambil detail lengkap alur kerja:
argo get hello-world-XXXXX -n argoOutputnya mirip dengan:
Name: hello-world-XXXXX Namespace: argo ServiceAccount: unset (will run with the default ServiceAccount) Status: Succeeded Conditions: PodRunning False Completed True .... Duration: 37 seconds Progress: 1/1 ResourcesDuration: 17s*(1 cpu),17s*(100Mi memory) STEP TEMPLATE PODNAME DURATION MESSAGE ✔ hello-world-XXXXX whalesay hello-world-XXXXX 27sStatus: SucceededdanCompleted: Truemengonfirmasi bahwa alur kerja telah selesai dijalankan.
Referensi cepat Argo CLI
| Operation | Command |
|---|---|
| Kirim alur kerja | argo submit <file>.yaml -n argo |
| Daftar semua alur kerja | argo list -n argo |
| Dapatkan detail alur kerja tertentu | argo get <workflow-name> -n argo |
Langkah selanjutnya
Resource alur kerja secara berkala dihapus dari kluster. Untuk menyimpan catatan alur kerja dalam database, lihat Persistensi alur kerja.