Bài của chúng ta hôm nay là sử dụng Argo CLI trên máy client và đưa data vào input Workflows
Install Argo CLI to your machine.
Đâu tiên chúng ta cài đặt và tìm hiều Argo CLI
https://github.com/argoproj/argo-workflows/releases
Nếu như mình run trên linux:
# Download the binary
curl -sLO https://github.com/argoproj/argo-workflows/releases/download/v3.2.6/argo-linux-amd64.gz
# Unzip
gunzip argo-linux-amd64.gz
# Make binary executable
chmod +x argo-linux-amd64
# Move binary to path
mv ./argo-linux-amd64 /usr/local/bin/argo
# Test installation
argo version
Input Parameters
Ý tưởng là chúng đưa data vào file yaml workflows và truyền vào trong pod
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
name: wf-dag-templates
spec:
entrypoint: dag-templates
arguments:
parameters:
- name: message1
value: Task 1 is executed
- name: message2
value: Task 2 is executed
- name: message3
value: Task 3 is finished
- name: message4
value: That's it with tasks 4
templates:
- name: dag-templates
inputs:
parameters:
- name: message1
- name: message2
- name: message3
- name: message4
dag:
tasks:
- name: Task1
arguments:
parameters: [{name: text, value: "{{inputs.parameters.message1}}"}]
template: task-template
- name: Task2
arguments:
parameters: [{name: text, value: "{{inputs.parameters.message2}}"}]
template: task-template
dependencies: [Task1]
- name: Task3
arguments:
parameters: [{name: text, value: "{{inputs.parameters.message3}}"}]
template: task-template
dependencies: [Task1]
- name: Delay
template: deylay-template
dependencies: [Task2, Task3]
- name: Task4
arguments:
parameters: [{name: text, value: "{{inputs.parameters.message4}}"}]
template: task-template
dependencies: [Delay]
- name: task-template
inputs:
parameters:
- name: text
script:
image: python:3.8-slim
command: [python]
source: |
p = "{{inputs.parameters.text}}"
print(p)
- name: deylay-template
suspend:
duration: "10s"
GIờ mình giải thích 1 chút


Vì chúng ta đã cái argo cli thì câu lệnh apply như sau:argo -n argo submit wf-input-param.yaml
Bạn thấy output ra nhiều thông tin hơn.
root@work-space-u20:~/mylab-helm-chart/argo-wfs/lesson4# argo -n argo submit wf-input-param.yaml
Name: wf-dag-templates
Namespace: argo
ServiceAccount: default
Status: Pending
Created: Thu Jan 06 16:24:50 +0000 (now)
Progress:
Parameters:
message1: Task 1 is executed
message2: Task 2 is executed
message3: Task 3 is finished
message4: That's it with tasks 4
This workflow does not have security context set. You can run your workflow pods more securely by setting it.


