Manifests
Kubeflow AI Reference Platform Deployment Manifests
Install / Use
/learn @kubeflow/ManifestsREADME
Kubeflow AI reference platform deployment manifests
This repository helps you to install Kubeflow Platform in popular Kubernetes clusters such as Kind, Minikube, Rancher, EKS, AKS, and GKE. The manifests include all Kubeflow components (Pipelines, KServe, etc.), the Kubeflow Central Dashboard, and other applications that comprise the Kubeflow Platform. It is used and adapted around the world by small and large enterprises alike that have strict legal, security and multi-tenancy requirements for their machine learning platforms. Nevertheless it is also beneficial for academic users wanting to explore the end-to-end capabilities of the Kubeflow Platform and contribute to it.
For a stable and conservative experience, we recommend using the latest stable release. However, please consult the more up-to-date documentation in the master branch.
You can also install the master branch of kubeflow/manifests by following the instructions here and providing us with feedback. Our continuous integration workflow runs end-to-end installation and tests on pull requests and pushes to the master branch in the upstream kubeflow/manifests repository; see the full Kubeflow integration test workflow for details.
We are planning to cut 2 releases per year, for example 26.03 and 26.10 before each KubeCon EU and NA. We ask each working group/component to provide non-breaking patch releases for 6 months based on the version in each date release. We try to BEST-EFFORT support each release for 6 months as community. There is commercial support available if needed. The working groups (KFP, Katib, Trainer, ...) are allowed to release new component versions with breaking changes, but they will only be included in the master branch or the next date release. This should only apply to “stable” components, as “alpha/beta” components might release breaking changes in patch releases.
Table of Contents
<!-- toc -->- Overview of the Kubeflow Platform
- Kubeflow Components Versions
- Installation
- Upgrading and Extending
- Release Process
- Security
- Pre-commit Hooks
- Architecture
- Frequently Asked Questions
Overview of the Kubeflow Platform
- This repository is owned by the Platform/Manifests/security Working Group.
- You can join the CNCF Slack and access our meetings at the Kubeflow Community website.
- Our channel on the CNCF Slack is #kubeflow-platform.
- You can also find our biweekly meetings, including the commentable Agenda.
- If you want to contribute, please take a look at the CONTRIBUTING.md.
The Kubeflow Platform/Manifests repository is organized under three main directories, which include manifests for installing:
| Directory | Purpose |
| - | - |
| applications | Kubeflow's official components, maintained by the respective Kubeflow WGs |
| common | Common services, maintained by the Manifests WG |
| experimental | Third-party integrations and platform experiments (e.g., Ray or security improvements) |
All components are deployable with kustomize. In addition, experimental Helm charts for selected components are available under experimental/helm/. You can choose to deploy the entire Kubeflow platform or individual components.
Kubeflow Components Versions
Kubeflow Version: Master
This repository periodically synchronizes all official Kubeflow components from the respective upstream repositories. The following matrix shows the git version included for each component along with the rough resource requirements for each Kubeflow component, calculated as the maximum of actual usage and configured requests for CPU/memory as well as storage requirements from PVCs:
| Component | Local Manifests Path | Upstream Revision | CPU (millicores) | Memory (Mi) | PVC Storage (GB) | | - | - | - | - | - | - | | Training Operator | applications/training-operator/upstream | v1.9.2 | 3m | 25Mi | 0GB | | Trainer | applications/trainer/upstream | v2.2.0 | 8m | 143Mi | 0GB | | Notebook Controller | applications/jupyter/notebook-controller/upstream | v1.10.0 | 5m | 93Mi | 0GB | | PVC Viewer Controller | applications/pvcviewer-controller/upstream | v1.10.0 | 15m | 128Mi | 0GB | | Tensorboard Controller | applications/tensorboard/tensorboard-controller/upstream | v1.10.0 | 15m | 128Mi | 0GB | | Central Dashboard | applications/centraldashboard/upstream | v1.10.0 | 2m | 159Mi | 0GB | | Profiles + KFAM | applications/profiles/upstream | v1.10.0 | 7m | 129Mi | 0GB | | PodDefaults Webhook | applications/admission-webhook/upstream | v1.10.0 | 1m | 14Mi | 0GB | | Jupyter Web Application | applications/jupyter/jupyter-web-app/upstream | v1.10.0 | 4m | 231Mi | 0GB | | Tensorboards Web Application | applications/tensorboard/tensorboards-web-app/upstream | v1.10.0 | | | | | Volumes Web Application | applications/volumes-web-app/upstream | v1.10.0 | 4m | 226Mi | 0GB | | Katib | applications/katib/upstream | v0.19.0 | 13m | 476Mi | 10GB | | KServe | applications/kserve/kserve | v0.16.0 | 600m | 1200Mi | 0GB | | KServe Models Web Application | applications/kserve/models-web-app | c71ee4309f0335159d9fdfd4559a538b5c782c92 | 6m | 259Mi | 0GB | | Kubeflow Pipelines | applications/pipeline/upstream | 2.16.0 | 970m | 3552Mi | 35GB | | Kubeflow Model Registry | applications/model-registry/upstream | v0.3.7 | 510m | 2112Mi | 20GB | | Spark Operator | applications/spark/spark-operator | 2.5.0 | 9m | 41Mi | 0GB | | Istio | common/istio | 1.29.0 | 750m | 2364Mi | 0GB | | Knative | common/knative/knative-serving <br /> common/knative/knative-eventing | v1.21.1 <br /> v1.21.0 | 1450m | 1038Mi | 0GB | | Cert Manager | common/cert-manager | 1.19.4 | 3m | 128Mi | 0GB | | Dex | common/dex | 2.45.0 | 3m | 27Mi | 0GB | | OAuth2-Proxy | common/oauth2-proxy | 7.14.3 | 3m | 27Mi | 0GB | | Total | | | 4380m | 12341Mi | 65GB |
Installation
This section covers the installation from scratch. For the in-place upgrade guide, please jump to the Upgrading and Extending section.
Although our master branch has extended automated tests and is very stable with trunk-based development, please consider using a stable release tag/branch for a more conservative experience.
We provide two options for installing the official Kubeflow components and common services with Kustomize. The aim is to help users install easily and building distributions of Kubeflow by deriving / deviating from the Kubeflow manifests:
- Single-command installation of all components und
