Argo
Argo 是一个基于 Kubernetes 的工作流引擎,同时也支持 CI、CD 等丰富的功能。Argo 开源在 https://github.com/argoproj。
安装 Argo
使用 argo install
# Download Argo.
curl -sSL -o argo https://github.com/argoproj/argo/releases/download/v2.1.0/argo-linux-amd64
chmod +x argo
sudo mv argo /usr/local/bin/argo
# Deploy to kubernetes
kubectl create namespace argo
argo install -n argoACCESS_KEY=AKIAIOSFODNN7EXAMPLE
ACCESS_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
helm install --namespace argo --name argo-artifacts --set accessKey=$ACCESS_KEY,secretKey=$ACCESS_SECRET_KEY,service.type=LoadBalancer stable/minio创建名为 argo-bucket 的 Bucket(可以通过 kubectl port-forward service/argo-artifacts-minio :9000 访问 Minio UI 来操作):
# download mc client
sudo wget https://dl.minio.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
sudo chmod +x /usr/local/bin/mc
# create argo-bucket
EXTERNAL_IP=$(kubectl -n argo get service argo-artifacts-minio -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
mc config host add argo-artifacts-minio-local http://$EXTERNAL_IP:9000 $ACCESS_KEY $ACCESS_SECRET_KEY --api=s3v4
mc mb argo-artifacts-minio-local/argo-bucket然后修改 Argo 工作流控制器使用 Minio:
使用 Helm
注意:当前 Helm Charts 使用的 Minio 版本较老,部署有可能会失败。
访问 Argo UI
工作流
首先,给默认的 ServiceAccount 授予集群管理权限
示例1: 最简单的工作流
示例2:包含多个容器的工作流
工作流创建完成后,可以查询它们的状态和日志,并在不需要时删除:
更多工作流 YAML 的格式见官方文档。
最后更新于