
This article focuses on the Kubeflow components most commonly used in production: Notebooks, Pipelines, Katib, KServe, and Profiles. Use this as a practical overview to understand how the parts fit together across the ML lifecycle.

- Notebooks — Interactive development environments (commonly Jupyter) running as Kubernetes workloads. Notebooks let data scientists explore data, prototype models, and leverage cluster resources (including GPUs) instead of relying on local machines.
- Pipelines — Automation and orchestration for ML workflows. Kubeflow Pipelines builds on the Argo Workflows engine to compose reproducible, versioned workflows from reusable components.
- Katib — Automated experiment management and hyperparameter tuning. Katib runs many trials using strategies such as grid search, random search, or Bayesian optimization to identify the best model configurations.
- KServe — Model serving and scalable inference. Built on serverless primitives (e.g., Knative), KServe exposes trained models as endpoints for real-time or batch predictions.
- Profiles — Multi-user and multi-team support. Profiles provision isolated workspaces (typically namespaces), create role bindings, and enforce resource quotas so teams can share a cluster securely.
The ML lifecycle often follows this sequence:
- Develop and experiment in Notebooks.
- Automate training and ETL with Pipelines for reproducibility and scheduling.
- Optimize model parameters and architecture with Katib.
- Deploy optimized models using KServe for production inference.
- Use Profiles and cluster RBAC to manage multi-user access and resource isolation.


When running Kubeflow in a shared cluster, carefully design Profiles, namespace limits, and RBAC policies. Without proper isolation and quotas you risk noisy-neighbor problems or accidental privilege escalation.

- Kubeflow official docs: https://kubeflow.org/
- Jupyter: https://jupyter.org/
- Argo Workflows: https://argoproj.github.io/argo-workflows/
- Katib docs: https://www.kubeflow.org/docs/components/katib/
- KServe docs: https://kserve.github.io/
- Knative: https://knative.dev/