Argo #

More information about Argo can be found at Argo quick start.

Custom Pod Behavior #

The Argo Workflow is a custom resource for creating Pods, not using Job. So we need to change the behavior of the Pod to make it work.

sed 's/Job/Workflow/g' pod-fast.yaml > workflow-fast.yaml

Set up Cluster #

kwokctl create cluster --runtime kind -c workflow-fast.yaml

Create Node #

kubectl apply -f

Deploy Argo #

kubectl create namespace argo
kubectl apply -n argo -f

Migrate Controllers to Real Node #

kubectl patch deploy argo-server -n argo --type=json -p='[{"op":"add","path":"/spec/template/spec/nodeName","value":"kwok-kwok-control-plane"}]'
kubectl patch deploy workflow-controller -n argo --type=json -p='[{"op":"add","path":"/spec/template/spec/nodeName","value":"kwok-kwok-control-plane"}]'

Test Workflow #

argo submit -n argo --watch