Argo Workflows is an open-source, container-level workflow engine designed to orchestrate parallel jobs on Kubernetes. It leverages Kubernetes Custom Resource Definitions (CRDs) to implement its full architecture, including Workflow, Workflow Template, and Cron Workflow.
What Can Argo Workflows Do?
Define workflows where each step is a container.
Model multi-step workflows as a sequence of tasks or capture task dependencies using Directed Acyclic Graphs (DAGs).
Easily run compute-intensive jobs—such as machine learning or data processing—on Kubernetes within a short time frame.
Run CI/CD pipelines natively on Kubernetes without configuring complex software development tooling.
Key Features of Argo Workflows:
Workflow: Orchestrates multiple workflow templates with customizable execution order.
Workflow Template: A reusable template definition for workflows; can be invoked by other workflows or templates within the same namespace or cluster.
Cluster Workflow Template: A cluster-scoped workflow template accessible across all namespaces via ClusterRole permissions.
Cron Workflow: Scheduled workflow type, equivalent to an advanced version of Kubernetes CronJob.
Installation & Configuration
Install Argo Workflows
We are installing the stable version 2.12.10. The installation process sets up ServiceAccount, Role, ClusterRole, Deployment, and other necessary components.
Since our cluster uses Traefik as the ingress controller, and Argo Workflows defaults to internal HTTPS access, we need to add specific annotations to route external requests to argo-server.