Argo Workflows
Argo Workflows is a container-native workflow engine for Kubernetes that orchestrates parallel jobs as directed acyclic graphs. Each step runs in its own container, making it suitable for CI/CD pipelines, data processing, and machine learning workflows.
itCloud native tools and technologies | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Argo Workflows
Argo Workflows is a way to describe a finite piece of container work as a graph that Kubernetes can run. Before this, you might have assembled shell scripts, CI jobs, cron entries, and hopeful notes about what must happen after what. Those tools can run work. They are less interested in remembering the route through a pile of dependent work. Argo is interested in the route, which is why it keeps a Workflow resource and its changing status together. The paperwork has volunteered to become useful.
The key idea is a workflow controller, a Kubernetes reconciler that reads the graph and starts the next eligible task. Your Workflow names an entrypoint and templates. The controller sees which node may run, Kubernetes schedules its Pod, and the status records the outcome. This is not a long-lived service wearing a graph-shaped hat. It is an execution record for work that finishes, fails, waits, or needs cleaning up.
The other idea is that the graph has two good costumes. Steps tell a stage story: one group, then the next, with some parallel tasks inside a group. A DAG, a directed acyclic graph of dependencies, tells the controller what each task actually needs before it can run. The second form often exposes more parallel work because it does not make unrelated tasks wait politely in a stage queue.
Data also arrives in three costumes, because apparently one was not enough. A parameter is a small string such as an identifier. An artifact is a file or directory moved through configured storage. A volume is a mounted filesystem. Large data normally stays in its own system while tasks pass a reference. Sending it through every node gives storage and failure modes more opportunities to introduce themselves.
The surprise is that retries are not apologies. A task can alter an external system and vanish before it reports success. Another attempt may therefore repeat a real change. Timeouts, retry limits, exit handlers, and mutexes help govern the graph, but idempotent task behavior is what keeps a rerun from becoming an accidental sequel.
Read the Intro when you need the full component map and security boundary. Use Slides to compare Steps, DAGs, data paths, and concurrency layers at a glance. Keep the Cheatsheet nearby when writing a manifest or choosing a control. Then use the Reference tab for the official first-run path and operational details. The graph declares intent; the controller advances it; Kubernetes runs the Pods; status tells you which part has started complaining.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://argo-workflows.readthedocs.io/en/latest/
Supports
- Argo Workflows as a container-native workflow engine for parallel jobs on Kubernetes
- Workflow implementation through Kubernetes custom resources
- Steps, DAG, artifact, scheduling, interface, retry, timeout, hook, metrics, and archive feature map
- Machine learning, data processing, infrastructure automation, and CI or CD use cases
- https://github.com/argoproj/argo-workflows/releases
Supports
- Argo Workflows v4.0.5 as the current release snapshot used for this course
- Versioned controller, server, and CLI release artifacts
- Release notes and upgrade guidance as inputs to version changes
- https://argo-workflows.readthedocs.io/en/latest/quick-start/
Supports
- Current quick-start installation prerequisites and warnings
- Submission, listing, inspection, log viewing, and web interface flow for a first Workflow
- Quick-start scope as a learning environment rather than a production installation
- https://argo-workflows.readthedocs.io/en/latest/walk-through/
Supports
- Official sequence from CLI and first Workflow through parameters, graph forms, data, control flow, retries, timeouts, and handlers
- Foundation-to-intermediate practice path used by the course links
- https://argo-workflows.readthedocs.io/en/latest/workflow-concepts/
Supports
- Workflow as both an executable definition and an execution-state record
- Workflow specification structure with templates and an entrypoint
- Container, script, resource, suspend, Steps, and DAG template roles
- Difference between task templates and reusable workflow resources
- https://argo-workflows.readthedocs.io/en/latest/architecture/
Supports
- Workflow controller responsibility for reconciliation
- Argo Server responsibility for the API and web interface
- Controller operation without a required Argo Server
- Workflow executor role in task execution, outputs, and artifacts
- https://argo-workflows.readthedocs.io/en/latest/walk-through/steps/
Supports
- Sequential outer step groups and parallel tasks within one group
- Steps as a stage-oriented workflow structure
- https://argo-workflows.readthedocs.io/en/latest/walk-through/dag/
Supports
- DAG tasks with explicit dependencies
- Immediate eligibility of root tasks and parallel execution of independent branches
- Nested Steps and DAG templates
- DAG fail-fast behavior and dependency expressions
- https://argo-workflows.readthedocs.io/en/latest/walk-through/parameters/
Supports
- Workflow and template input parameters
- Parameter passing through arguments and output references
- Parameters as small values in task contracts
- https://argo-workflows.readthedocs.io/en/latest/walk-through/artifacts/
Supports
- Input and output artifacts as files or directories
- Executor handling before and after the main container
- Artifact repositories for passing artifacts between tasks
- Difference between artifact paths and parameter values
- https://argo-workflows.readthedocs.io/en/latest/workflow-templates/
Supports
- WorkflowTemplate as a namespace-scoped reusable definition
- Submission and reference of reusable templates
- Difference between lowercase template and WorkflowTemplate resource
- Explicit parameter passing into referenced templates
- https://argo-workflows.readthedocs.io/en/latest/cluster-workflow-templates/
Supports
- ClusterWorkflowTemplate as a cluster-scoped reusable definition
- Cross-namespace availability and cluster-scope references
- Cluster scope as a wider authorization and change boundary
- https://argo-workflows.readthedocs.io/en/latest/cron-workflows/
Supports
- CronWorkflow creation of Workflows from schedules
- Time zone, suspension, concurrency policy, missed-start, and history controls
- Need to account for duplicate or delayed scheduled execution
- https://argoproj.github.io/argo-events/sensors/triggers/argo-workflow/
Supports
- Argo Events Sensor submission of Argo Workflow resources
- Boundary between event dependency resolution and downstream workflow execution
- https://argo-workflows.readthedocs.io/en/latest/retries/
Supports
- Retry limits, policies, expressions, and backoff
- Difference between failed and errored task outcomes
- Operational need to bound repeated attempts
- https://argo-workflows.readthedocs.io/en/latest/walk-through/exit-handlers/
Supports
- Workflow exit handler execution after the entrypoint completes
- Workflow status availability to final cleanup and notification logic
- Difference between final handling and ordinary graph tasks
- https://argo-workflows.readthedocs.io/en/latest/lifecyclehook/
Supports
- Lifecycle hooks triggered from workflow or template expressions
- Difference between lifecycle hooks and exit handlers
- https://argo-workflows.readthedocs.io/en/latest/synchronization/
Supports
- Mutexes for exclusive execution
- Semaphores for bounded concurrent execution
- Workflow and template parallelism controls
- Workflow status as evidence of lock holding and waiting
- https://argo-workflows.readthedocs.io/en/latest/parallelism/
Supports
- Controller-wide and namespace workflow limits
- Workflow priority under controller limits
- Relationship between parallelism limits and synchronization
- https://argo-workflows.readthedocs.io/en/latest/service-accounts/
Supports
- Workflow service accounts as Kubernetes API identities
- Role and RoleBinding use for workload permissions
- Default service account behavior when no explicit account is supplied
- https://argo-workflows.readthedocs.io/en/latest/workflow-rbac/
Supports
- Workflow Pod permissions through Kubernetes service accounts
- Least-privilege RBAC for executor and resource operations
- Separation of controller and workflow workload permissions
- https://argo-workflows.readthedocs.io/en/latest/security/
Supports
- Security boundaries across controller, server, workflow Pods, secrets, and networks
- Authentication, transport security, and authorization requirements for Argo Server
- Risk from untrusted workflow specifications and container execution
- Multitenancy controls and separation of workload identities
- https://argo-workflows.readthedocs.io/en/latest/argo-server/
Supports
- Argo Server API and web interface responsibilities
- Authentication modes, transport security, and exposure considerations
- Distinction between server access and Kubernetes authorization
- https://argo-workflows.readthedocs.io/en/latest/workflow-archive/
Supports
- Database-backed retention of completed workflow status and node results
- Exclusion of Pod logs from the workflow archive
- Separate archive-log or logging-system requirement
- https://argo-workflows.readthedocs.io/en/latest/offloading-large-workflows/
Supports
- Kubernetes object size pressure from large Workflow node status
- Database offloading of node status for large workflows
- Persistence dependency introduced by offloading
- https://argo-workflows.readthedocs.io/en/latest/metrics/
Supports
- Controller queue, workflow, and custom metrics
- Metrics as current process and workflow signals rather than per-run historical storage
- Workflow archive and logs as sources for historical execution analysis
- https://argo-workflows.readthedocs.io/en/latest/running-at-massive-scale/
Supports
- Controller sizing and scaling considerations
- API pressure, parallelism, status offloading, and retention controls
- Need to test representative workflow shapes under expected load
- https://argo-workflows.readthedocs.io/en/latest/upgrading/
Supports
- Version-specific upgrade and breaking-change guidance
- Need to review controller, custom resource definition, server, and client changes
- Testing before production version changes
- https://kubernetes.io/docs/concepts/workloads/controllers/job/
Supports
- Kubernetes Job as the built-in controller for finite tasks
- Job management of Pods toward successful completion
- Job as the smaller starting point for one independent task
- https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/
Supports
- Kubernetes CronJob as the built-in controller for repeated Jobs
- CronJob schedule, overlap, missed-start, suspension, and history behavior
- Idempotency requirement caused by approximate scheduling and possible duplicate creation
- https://www.cncf.io/projects/argo/
Supports
- Argo project first commit in July 2017
- CNCF incubating acceptance in March 2020 and graduation in December 2022
- https://github.com/argoproj/argo-workflows/releases/tag/v2.0.0
Supports
- Argo Workflows v2.0 release history
- https://github.com/argoproj/argo-workflows/releases/tag/v2.5.0
Supports
- Argo Workflows v2.5 release history
- https://github.com/argoproj/argo-workflows/releases/tag/v2.12.0
Supports
- Argo Workflows v2.12 release history
- https://github.com/argoproj/argo-workflows/releases/tag/v3.1.0
Supports
- Argo Workflows v3.1 release history
- https://github.com/argoproj/argo-workflows/releases/tag/v3.4.0
Supports
- Argo Workflows v3.4 release history
- https://github.com/argoproj/argo-workflows/releases/tag/v3.5.0
Supports
- Argo Workflows v3.5 release history
- https://argoproj.github.io/argo-workflows/scaling/
Supports
- Controller cache and worker scaling behavior
- Queue and controller throughput operational signals
- https://hodgkins.io/blog/argo-workflow-proven-patterns-from-production/
Supports
- Practitioner experience with artifact repositories, archived logs, and UI behavior
- https://github.com/argoproj/argo-workflows/issues/4634
Supports
- Primary production scaling report covering workflow and pod queue behavior
- https://tekton.dev/
Supports
- Tekton Pipelines product placement
- https://airflow.apache.org/
Supports
- Apache Airflow product placement
- https://flyte.org/
Supports
- Flyte product placement
- https://www.kubeflow.org/docs/components/pipelines/
Supports
- Kubeflow Pipelines product placement
- https://www.prefect.io/
Supports
- Prefect product placement
- https://dagster.io/
Supports
- Dagster product placement
