Beginner

Installing KubeFlow Pipelines

Deploy KubeFlow Pipelines on your Kubernetes cluster using standalone deployment, the full KubeFlow distribution, or managed cloud services.

Standalone Deployment

The simplest way to get started is the standalone KFP deployment, which only installs the Pipelines component:

# Set the KFP version
export PIPELINE_VERSION=2.1.0

# Deploy KFP standalone
kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/cluster-scoped-resources?ref=$PIPELINE_VERSION"
kubectl wait --for condition=established --timeout=60s crd/applications.app.k8s.io
kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/env/platform-agnostic?ref=$PIPELINE_VERSION"

# Verify deployment
kubectl get pods -n kubeflow

# Access the UI via port-forward
kubectl port-forward -n kubeflow svc/ml-pipeline-ui 8080:80

Install the Python SDK

# Install KFP SDK v2
pip install kfp==2.7.0

# Verify installation
python -c "import kfp; print(kfp.__version__)"

# Install optional Google Cloud components
pip install google-cloud-pipeline-components
💡
Managed options: Google Cloud offers Vertex AI Pipelines (fully managed KFP), and AWS has SageMaker Pipelines with KFP compatibility. These eliminate cluster management overhead for production deployments.

Verifying Your Installation

import kfp
from kfp import dsl

# Connect to the KFP API
client = kfp.Client(host='http://localhost:8080')

# List existing pipelines
pipelines = client.list_pipelines()
print(f"Found {pipelines.total_size} pipelines")

# Check server health
print(client.get_kfp_healthz())
Quick start: For learning purposes, the standalone deployment on a local Kind or Minikube cluster works well. For production, consider the full KubeFlow distribution or a managed service for better authentication, authorization, and multi-tenancy support.