Kubeflow Pipelines
Kubeflow Pipelines is a system for defining and running repeatable machine learning workflows on Kubernetes. It turns a graph of containerized steps into tracked runs, coordinates their inputs and outputs, and records the artifacts each run produces.
itArtificial intelligence and machine learning | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Kubeflow Pipelines
Kubeflow Pipelines turns Python component definitions into Kubernetes workloads, one container per step, with run history, artifact tracking, and lineage to prove what happened.
Before KFP, teams ran ML workflows with ad-hoc scripts, cron jobs, and tribal knowledge about which step to run next. Results were unreproducible, failures were opaque, and nobody could tell you which dataset trained the model currently in production.
The translation chain is the idea everything else hangs off: Python code becomes a graph, the graph compiles to IR YAML, and a backend turns that YAML into Kubernetes Pods. Each component lives in its own container. Components never share memory. They exchange data through parameters (small JSON values) and artifacts (datasets, models, metrics stored at a URI with metadata). Once that boundary clicks, the rest of KFP is detail.
The thing that surprises most people: calling your pipeline function in Python does not run the pipeline. It constructs a graph topology. The compiler checks that topology and produces a package. You submit the package to a backend, which creates a run. The Python import is not the execution. The compiled YAML is the deployment artifact, and you can inspect every task, every dependency, and every typed connection before anything touches a cluster.
The second surprise lives in the gap between "compiles" and "runs." The compiler validates types, connections, and graph shape. It does not check whether your container image exists, your PersistentVolumeClaim is bound, your ConfigMap lives in the target namespace, or your mount path actually points somewhere real. Kubernetes checks those at Pod startup. A task that compiled clean can sit in Pending while the scheduler hunts for GPU capacity, or fail because a volume path has a stray character.
When a run fails, follow the translation chain in reverse. Inspect the run graph to find the failed task. Read its Kubernetes Pod logs. Check the Pod state: Pending points to scheduling, quota, image pull, or volume constraints. Succeeded-but-artifact-missing points to the artifact path, object storage, or permissions. Caching hid a changing input is its own category — the cache key matched, the upstream data did not.
KFP covers workflow authoring, orchestration, run tracking, and lineage. It does not replace source control, continuous integration, a feature store, a model registry, serving, or monitoring. The Landscape tab shows what sits around it. The Reference tab gives you the official documentation path from basics through migration. The Field Notes tab carries the judgment: what teams get wrong and why the standard advice has costs nobody states.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.kubeflow.org/docs/components/pipelines/
Supports
- Official Kubeflow Pipelines documentation map and current terminology
- Reference-path rationale
- https://www.kubeflow.org/docs/components/pipelines/concepts/pipeline/
Supports
- Pipeline graph, component, task, IR YAML, backend, Pod, parameter, artifact, caching, retry, and resource relationships
- Definition-to-execution boundary and quiz answers
- https://www.kubeflow.org/docs/components/pipelines/concepts/component/
Supports
- Component packaging, code, dependencies, images, typed interfaces, and isolated container execution
- https://www.kubeflow.org/docs/components/pipelines/user-guides/components/compose-components-into-pipelines/
Supports
- Pipeline functions as topology construction
- Data dependencies and parallel task behavior
- https://www.kubeflow.org/docs/components/pipelines/user-guides/data-handling/data-types/
Supports
- Parameter and artifact interface distinction, type checking, and lineage
- https://www.kubeflow.org/docs/components/pipelines/user-guides/data-handling/parameters/
Supports
- Small JSON-serialized parameter values and Python type mappings
- https://www.kubeflow.org/docs/components/pipelines/user-guides/data-handling/artifacts/
Supports
- Artifact classes, URI, path, metadata, object transfer, type checking, and UI rendering
- https://www.kubeflow.org/docs/components/pipelines/concepts/pipeline-root/
Supports
- Pipeline root as object-storage path for run artifacts
- Artifact bytes and metadata boundary
- https://www.kubeflow.org/docs/components/pipelines/concepts/metadata/
Supports
- Runtime metadata, executions, artifact availability, properties, and lineage graphs
- https://www.kubeflow.org/docs/components/pipelines/user-guides/core-functions/control-flow/
Supports
- Conditions, loops, exit handlers, final status, and ignoring upstream failure
- https://www.kubeflow.org/docs/components/pipelines/user-guides/core-functions/caching/
Supports
- Default caching, component and input matching, reused outputs, and cache configuration
- https://www.kubeflow.org/docs/components/pipelines/concepts/run/
Supports
- Runs, immutable run logs, recurring runs, triggers, and concurrency limits
- https://www.kubeflow.org/docs/components/pipelines/user-guides/core-functions/run-a-pipeline/
Supports
- Dashboard, SDK client, and CLI submission paths
- https://www.kubeflow.org/docs/components/pipelines/user-guides/migration/
Supports
- Version 2 decorators, generic IR YAML, GUI, compatibility matrix, final version 1 SDK, and breaking changes
- Field Notes shift card grounding
- https://www.kubeflow.org/docs/components/pipelines/operator-guides/multi-user/
Supports
- Profiles, namespaces, API authorization, run placement, shared pipeline definitions, and isolation limits
- https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/
Supports
- Pod Pending and failure states used in operational triage and quiz answers
- https://github.com/kubeflow/pipelines
Supports
- Standalone and full-platform installation, default execution engine, project scope, and Apache license
- https://github.com/kubeflow/pipelines/blob/master/LICENSE
Supports
- Kubeflow Pipelines open-source and free landscape classification
- https://terrytangyuan.github.io/awesome-kubeflow/
Supports
- Discovery of Kale, deployKF, ZenML, and Argo Workflows for Awesome Links
- https://kale.kubeflow.org/en/latest/
Supports
- Kale notebook annotations, dependency analysis, KFP version 2 compilation, and JupyterLab integration
- Kale Awesome Links rationale
- https://www.deploykf.org/guides/getting-started/
Supports
- deployKF production platform scope and access to Kubeflow Pipelines, Notebooks, and Katib
- deployKF Awesome Links rationale
- https://www.zenml.io/integrations/kubeflow
Supports
- ZenML use of Kubeflow as an orchestrator in a configurable MLOps stack
- ZenML Awesome Links rationale and landscape placement
- https://argo-workflows.readthedocs.io/
Supports
- Argo Workflows Kubernetes DAG execution scope and Awesome Links rationale
- https://github.com/argoproj/argo-workflows/blob/main/LICENSE
Supports
- Argo Workflows open-source and free landscape classification
- https://flyte.org/platform
Supports
- Flyte typed workflows, container execution, recovery, caching, lineage, multi-tenancy, and resource placement
- Flyte landscape placement
- https://github.com/flyteorg/flyte/blob/master/LICENSE
Supports
- Flyte open-source and free landscape classification
- https://cloud.google.com/vertex-ai/docs/pipelines/introduction
Supports
- Managed execution of pipelines defined with Kubeflow Pipelines or TFX
- Vertex AI Pipelines landscape placement
- https://cloud.google.com/vertex-ai/pricing
Supports
- Vertex AI proprietary paid managed-service classification
- https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines.html
Supports
- SageMaker managed orchestration, authoring interfaces, AWS integrations, versioning, and lineage
- SageMaker Pipelines landscape placement
- https://aws.amazon.com/sagemaker/ai/pricing/
Supports
- SageMaker proprietary paid managed-service classification
- https://learn.microsoft.com/en-us/azure/machine-learning/overview-what-is-azure-machine-learning
Supports
- Azure Machine Learning lifecycle, pipeline, compute, identity, asset, and studio scope
- Azure Machine Learning landscape placement
- https://azure.microsoft.com/en-us/pricing/details/machine-learning/
Supports
- Azure Machine Learning proprietary paid managed-service classification
- https://github.com/zenml-io/zenml/blob/main/LICENSE
Supports
- ZenML open-core landscape classification
- https://www.zenml.io/pricing
Supports
- ZenML freemium landscape classification
- https://cloud.google.com/blog/products/ai-machine-learning/introducing-ai-hub-and-kubeflow-pipelines-making-ai-simpler-faster-and-more-useful-for-businesses/
Supports
- November 8, 2018 Kubeflow Pipelines announcement and reusable hybrid workflow scope
- https://cloud.google.com/blog/products/ai-machine-learning/getting-started-kubeflow-pipelines
Supports
- November 15, 2018 end-to-end workflow guide, reusable container steps, and parallel branches
- https://blog.kubeflow.org/releases/2020/03/02/kubeflow-1-0-cloud-native-ml-for-everyone.html
Supports
- March 2, 2020 Kubeflow 1.0 and stable platform applications on conformant Kubernetes
- https://blog.kubeflow.org/release/official/2020/11/18/kubeflow-1.2-blog-post.html
Supports
- November 18, 2020 KFP 1.0 stabilization, platform components, IR work, and Tekton backend availability
- https://blog.kubeflow.org/kubeflow-1.4-release/
Supports
- October 12, 2021 KFP 1.7, advanced metadata workflows, metrics, caching, version 2 compatible mode, and SDK version 2 tutorial
- https://blog.kubeflow.org/kubeflow-1.5.1-release/
Supports
- July 18, 2022 caching certificate changes for stricter Kubernetes distributions
- https://blog.kubeflow.org/kubeflow-1.8-release/
Supports
- October 23, 2023 distribution of KFP backend 2.0.3 and SDK 2.4.0
- https://cloud.google.com/blog/products/ai-machine-learning/whats-new-in-kubeflow-pipelines-v2/
Supports
- KFP version 2 decorators, IR, nested pipelines, UI, artifacts, lineage, and historical context
- https://blog.kubeflow.org/kubeflow-1.9-release/
Supports
- July 22, 2024 consolidation of Argo and Tekton backend support
