Argo
Argo is an open-source workflow engine built for Kubernetes with integrated functionalities of Continuous Integration (CI) and Continuous Delivery (CD). The source code can be accessed openly at https://github.com/argoproj.
Installing Argo
Using argo install command
argo install command# 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/minioNext, create a bucket named argo-bucket (You can use kubectl port-forward service/argo-artifacts-minio :9000 to reach the Minio UI for operation):
# 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-bucketThen, modify the Argo workflow controller to use Minio:
Installing Using Helm
Please note: The current Helm Charts use an outdated version of Minio and the deployment might fail.
Accessing the Argo UI
Working with workflows
Firstly, give the default ServiceAccount cluster administration permission
Example 1: The simplest workflow
Example 2: Workflow with multiple containers
After the workflows are created, their status and logs can be queried, and they can be deleted when no longer needed:
For more information on the format of workflow YAML files, see the official documentation.
最后更新于