Skip to content

pipelines: Add Kubeflow Pipelines Kubernetes Native API mode documentation#4177

Merged
google-oss-prow[bot] merged 1 commit into
kubeflow:masterfrom
VaniHaripriya:k8s-native-api-doc-update
Aug 12, 2025
Merged

pipelines: Add Kubeflow Pipelines Kubernetes Native API mode documentation#4177
google-oss-prow[bot] merged 1 commit into
kubeflow:masterfrom
VaniHaripriya:k8s-native-api-doc-update

Conversation

@VaniHaripriya

Copy link
Copy Markdown
Contributor

Description of Changes

This PR adds the documentation for deploying and using Kubeflow Pipelines in Kubernetes Native API mode.

  • Added the deployment instructions for Kubeflow Pipelines in Kubernetes Native API mode.
  • Added the compilation instructions for pipelines in Kubernetes Native API mode using KFP SDK.

/area website
/area pipelines

Checklist

@google-oss-prow google-oss-prow Bot added area/website AREA: Website Styles/Hosting/Serving area/pipelines AREA: Kubeflow Pipelines labels Aug 12, 2025
@google-oss-prow google-oss-prow Bot requested review from hbelmiro and rimolive August 12, 2025 12:24
@VaniHaripriya VaniHaripriya force-pushed the k8s-native-api-doc-update branch from b761465 to 9e4adab Compare August 12, 2025 12:29
@VaniHaripriya VaniHaripriya changed the title docs(pipelines): Add Kubeflow Pipelines Kubernetes Native API mode documentation pipelines: Add Kubeflow Pipelines Kubernetes Native API mode documentation Aug 12, 2025
@VaniHaripriya VaniHaripriya force-pushed the k8s-native-api-doc-update branch 2 times, most recently from 6e3901b to ab82d31 Compare August 12, 2025 13:16

## Deploying Kubeflow Pipelines in Kubernetes Native API Mode

Kubeflow Pipelines can be deployed in Kubernetes Native API mode, which stores pipeline definitions as Kubernetes Custom Resources instead of using external storage. This mode provides better integration with Kubernetes native tooling and GitOps workflows.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Kubeflow Pipelines can be deployed in Kubernetes Native API mode, which stores pipeline definitions as Kubernetes Custom Resources instead of using external storage. This mode provides better integration with Kubernetes native tooling and GitOps workflows.
Kubeflow Pipelines can be deployed in Kubernetes Native API mode, which stores pipeline definitions as Kubernetes Custom Resources instead of using external DB storage. This mode provides better integration with Kubernetes native tooling and GitOps workflows.

Comment thread content/en/docs/components/pipelines/operator-guides/installation/_index.md Outdated
>
> This workaround was verified on Minikube using `v2.0.0`, and aligns with community suggestions in [kubeflow/pipelines#9546](https://github.com/kubeflow/pipelines/issues/9546). It may also help users facing similar pod crash issues in other environments or newer versions.

## Deploying Kubeflow Pipelines in Kubernetes Native API Mode

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a note that cert-manager is required for this deployment style?

>
> This workaround was verified on Minikube using `v2.0.0`, and aligns with community suggestions in [kubeflow/pipelines#9546](https://github.com/kubeflow/pipelines/issues/9546). It may also help users facing similar pod crash issues in other environments or newer versions.

## Deploying Kubeflow Pipelines in Kubernetes Native API Mode

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you also make a small note saying something like: "If you are upgrading from a previous version not deployed in Kubernetes native API mode, consider leveraging the migration script to export all existing pipelines and pipeline versions as Kubernetes manifests which can be applied after upgrading Kubeflow Pipelines".

kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/env/cert-manager/platform-agnostic-k8s-native?ref=$PIPELINE_VERSION"
```

> 💡 **Alternative**: For multi-user environments, you can use the multi-user Kubernetes native mode:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we provide a brief explanation on why one would do this, and what is the difference with this mode

@VaniHaripriya VaniHaripriya force-pushed the k8s-native-api-doc-update branch from c6ff615 to 09991b2 Compare August 12, 2025 16:55

1. Deploy the Kubeflow Pipelines in Kubernetes Native Mode:

```bash

@HumairAK HumairAK Aug 12, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@VaniHaripriya can you take a look and see if the kubeflow manifests repo is updated and contains the required manifests so that we can link their instead of the KFP repo? If the user can deploy from there (instead of github.com/kubeflow/pipelines) then that is preferred since the Kubeflow Docs are tied to Kubeflow releases. If it is not updated, we can stick to kfp repo for now.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@HumairAK That makes sense. Kubeflow manifests repo has the updated manifests, I will update to use them instead of KFP repo.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@HumairAK I rechecked the kubeflow/manifests repo and found it currently includes Kubeflow Pipelines 2.5.0, since Kubernetes Native API mode requires version 2.14.0 , we’ll need to continue using the KFP repo for now.

@alyssacgoins alyssacgoins left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the perspective of someone who is not as familiar with Kubernetes Native API mode, this documentation makes a lot of sense to me - it's easy to follow and to understand exactly how to replicate these steps.

@VaniHaripriya

Copy link
Copy Markdown
Contributor Author

From the perspective of someone who is not as familiar with Kubernetes Native API mode, this documentation makes a lot of sense to me - it's easy to follow and to understand exactly how to replicate these steps.

Thank you @alyssacgoins !

…cumentation

Signed-off-by: VaniHaripriya <vmudadla@redhat.com>
@VaniHaripriya VaniHaripriya force-pushed the k8s-native-api-doc-update branch from 09991b2 to 2ecc28e Compare August 12, 2025 19:39

@mprahl mprahl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve
/lgtm

@google-oss-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mprahl

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow Bot merged commit b60e13f into kubeflow:master Aug 12, 2025
7 checks passed
kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/env/cert-manager/platform-agnostic-k8s-native?ref=$PIPELINE_VERSION"
```

> 💡 **Alternative**: For multi-user environments with multiple teams or users requiring isolation and RBAC controls on who can access what pipelines, you can use the multi-user Kubernetes native mode:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we just make it the default in kubeflow platform/manifests or is it not tested enough compared to platform-agnostic-multi-user @HumairAK

ederign pushed a commit to ederign/website that referenced this pull request Feb 2, 2026
…ation (kubeflow#4177)

Signed-off-by: VaniHaripriya <vmudadla@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved area/pipelines AREA: Kubeflow Pipelines area/website AREA: Website Styles/Hosting/Serving lgtm size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants