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 的格式見官方文檔。
Last updated