Argo

Argo #

有关 Argo 的更多信息,请参阅 Argo 快速入门

自定义 Pod 行为 #

Argo Workflow 是用于创建 Pod 的自定义资源,不使用 Job。因此,我们需要更改 Pod 的行为以使其正常工作。

wget https://raw.githubusercontent.com/kubernetes-sigs/kwok/release-0.3/stages/pod-fast.yaml
sed 's/Job/Workflow/g' pod-fast.yaml > workflow-fast.yaml

设置集群 #

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

创建节点 #

kubectl apply -f https://kwok.kubernetes.ac.cn/examples/node.yaml

部署 Argo #

kubectl create namespace argo
kubectl apply -n argo -f https://github.com/argoproj/argo-workflows/releases/download/v3.4.8/install.yaml

将控制器迁移到真实节点 #

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"}]'

测试工作流 #

argo submit -n argo --watch https://raw.githubusercontent.com/argoproj/argo-workflows/master/examples/hello-world.yaml