Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Kubeflow Kubeflow Kustomize Component Apply

From Leeroopedia
Knowledge Sources
Domains Kubeflow, Platform Deployment, ML Infrastructure
Last Updated 2026-02-13 00:00 GMT

Overview

Concrete tool for deploying individual Kubeflow components provided by kustomize and kubectl.

Description

This implementation uses the kustomize build <component-overlay> | kubectl apply -f - pattern to deploy each Kubeflow component from the kubeflow/manifests repository. Each component has its own directory containing kustomize overlays that define the Kubernetes resources (Deployments, Services, CRDs, RBAC, ConfigMaps) required for that component. The piped command first renders the kustomize overlay into plain Kubernetes YAML, then applies it to the target cluster. Some components may require multiple apply cycles due to CRD ordering dependencies.

Usage

Use this implementation after core infrastructure (Istio, cert-manager, Dex) has been successfully deployed and verified. Run these commands from the root of the cloned kubeflow/manifests repository.

Code Reference

Source Location

  • Repository: kubeflow/manifests
  • File: apps/pipeline/, apps/katib/, apps/training-operator/, apps/jupyter/, apps/kserve/, apps/model-registry/, contrib/spark-operator/, apps/centraldashboard/

Signature

kustomize build <component-overlay-path> | kubectl apply -f -

Import

# Ensure kustomize and kubectl are installed (see Prerequisites Validation)
# Navigate to the manifests repository
cd manifests

I/O Contract

Inputs

Name Type Required Description
component-overlay-path directory path Yes Path to the kustomize overlay directory for the target component (e.g., apps/pipeline/upstream/env/cert-manager/platform-agnostic-multi-user)
Running core infrastructure cluster state Yes Istio, cert-manager, and Dex must be deployed and healthy
Component selection list Yes Which components to deploy: Pipelines, Katib, Trainer, Notebooks, KServe, Model Registry, Spark Operator, Central Dashboard
Namespace targeting string No Some components deploy to specific namespaces; most use kubeflow namespace by default

Outputs

Name Type Description
Deployed component pods pod list Controller and worker pods in Running state for each deployed component
Registered CRDs CRD list Custom Resource Definitions registered by each component (e.g., TrainJob, Experiment, InferenceService)
Component services service list Kubernetes Services exposing component endpoints within the cluster
Istio VirtualServices VirtualService list Istio routing rules created for Dashboard integration

Usage Examples

Basic Usage

# Navigate to manifests repository root
cd manifests

# Deploy Kubeflow Pipelines
kustomize build apps/pipeline/upstream/env/cert-manager/platform-agnostic-multi-user | kubectl apply -f -
kubectl wait --for=condition=ready pod -l app=ml-pipeline -n kubeflow --timeout=300s

# Deploy Training Operator
kustomize build apps/training-operator/upstream/overlays/kubeflow | kubectl apply -f -
kubectl wait --for=condition=ready pod -l control-plane=kubeflow-training-operator -n kubeflow --timeout=180s

# Deploy Katib
kustomize build apps/katib/upstream/installs/katib-with-kubeflow | kubectl apply -f -
kubectl wait --for=condition=ready pod -l katib.kubeflow.org/component=controller -n kubeflow --timeout=180s

# Deploy Notebooks (Jupyter Web App and Notebook Controller)
kustomize build apps/jupyter/jupyter-web-app/upstream/overlays/istio | kubectl apply -f -
kustomize build apps/jupyter/notebook-controller/upstream/overlays/kubeflow | kubectl apply -f -

# Deploy KServe
kustomize build apps/kserve/upstream/overlays/kubeflow | kubectl apply -f -

# Deploy Model Registry
kustomize build apps/model-registry/upstream/overlays/db | kubectl apply -f -

# Deploy Central Dashboard (last)
kustomize build apps/centraldashboard/upstream/overlays/kserve | kubectl apply -f -
kubectl wait --for=condition=ready pod -l app=centraldashboard -n kubeflow --timeout=180s

# Verify all CRDs are registered
kubectl get crd | grep kubeflow
kubectl get crd trainjobs.kubeflow.org
kubectl get crd experiments.kubeflow.org
kubectl get crd inferenceservices.serving.kserve.io

# Verify all pods in kubeflow namespace
kubectl get pods -n kubeflow

Related Pages

Implements Principle

Requires Environment

Uses Heuristic

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment