Skip to content

Conversation

@hbelmiro
Copy link
Contributor

@hbelmiro hbelmiro commented Dec 1, 2025

Resolves: #924

@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign juliusvonkohout for approval. For more information see the Kubernetes Code Review Process.

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

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

Comment on lines +500 to +519
┌──────────────────────────────────────┐
│ Launcher │
│ (uploads/downloads via namespace │
│ artifact server API) │
└──────────────────┬───────────────────┘
│ API calls to namespace servers
┌───────────┼───────────┬───────────┐
▼ ▼ ▼ ▼
┌────────────┐ ┌────────────┐ ┌────────────┐ ┌─────┐
│ Artifact │ │ Artifact │ │ Artifact │ │ │
│ Server │ │ Server │ │ Server │ │ ... │
│ (ns1) │ │ (ns2) │ │ (ns3) │ │ │
└─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └──┬──┘
│ mounts │ mounts │ mounts │
▼ ▼ ▼ ▼
┌────────────┐ ┌────────────┐ ┌────────────┐ ┌─────┐
│ PVC (ns1) │ │ PVC (ns2) │ │ PVC (ns3) │ │ ... │
│ /artifacts │ │ /artifacts │ │ /artifacts │ │ │
└────────────┘ └────────────┘ └────────────┘ └─────┘
Copy link
Member

@juliusvonkohout juliusvonkohout Dec 2, 2025

Choose a reason for hiding this comment

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

That is now the execption and we go directly to seaweedfs with per namespace credentials instead https://github.com/kubeflow/manifests/releases/tag/v1.11.0-rc.1 So we have empty zero overhead namespaces by default.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@juliusvonkohout sorry, I'm not following.
If users need complete PVC isolation, we need one artifacts server in each namespace because the launcher wouldn't be able to access the PVC directly in a different namespace.
That said, central mode is the default in this KEP (single artifact server + PVC for all namespaces). Namespace-local mode is optional for environments with strict isolation requirements.

Copy link
Member

Choose a reason for hiding this comment

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

Here are some thoughts, but I still need to read the full document.

Tthat is very far away from V1 artifact passing via PVC and would violate zero overhead namespaces. Just imagine a cluster with 1000 namespaces for scalability. Then you add 1000 permanent pods, so massive overhead. In V1 we just accepted that the artifacts will not be in the UI instead. PVC for all namespace also sounds scary. Why should we offer such a security nightmare in the first place? That would break the namespace isolation contract.

Maybe I am missing something and I very much admire that you spend the time for the KEP, but there might be some fundamental problems as mentioned above regarding security and scalability that we did not have in the kfp V1 Implementation.

But as I said some of my statements could be wrong and that is just my initial assessment without checking it thoroughly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Got it. Those are really valid concerns for using it in production. But the idea of using PVCs is to make it easier for people who want to try KFP without having to worry about deploying and configuring an object storage. That means development (and mostly local) environments.
I didn't want to limit the usage only to development as it can be used on simple production environments.
We need to add clear documentation about this telling that the usage in production is not encouraged although not forbidden. Your concern is a good example that we can use to discourage using it in production.

@mprahl
Copy link
Contributor

mprahl commented Dec 3, 2025

@hbelmiro could you reopen this KEP in the KFP repo since this is KFP specific and not Kubeflow wide?

@hbelmiro
Copy link
Contributor Author

hbelmiro commented Dec 3, 2025

@hbelmiro hbelmiro closed this Dec 3, 2025
@hbelmiro hbelmiro deleted the kep-pvc branch December 3, 2025 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

KEP-924: Filesystem-Based Artifact Storage for Kubeflow Pipelines

3 participants