-
Notifications
You must be signed in to change notification settings - Fork 1.8k
chore: Seaweedfs as Minio replacement #11965
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Skipping CI for Draft Pull Request. |
manifests/kustomize/third-party/seaweedfs/base/pipeline-profile-controller/sync.py
Outdated
Show resolved
Hide resolved
manifests/kustomize/third-party/seaweedfs/base/pipeline-profile-controller/deployment.yaml
Outdated
Show resolved
Hide resolved
manifests/kustomize/third-party/seaweedfs/base/seaweedfs/seaweedfs-create-admin-user-job.yaml
Outdated
Show resolved
Hide resolved
manifests/kustomize/third-party/seaweedfs/base/seaweedfs/seaweedfs-deployment.yaml
Outdated
Show resolved
Hide resolved
closes #7725 |
We are still missing but it is at least ready for a first review @HumairAK |
.github/resources/manifests/argo/overlays/no-proxy/workflow-disable-logs-patch.yaml
Outdated
Show resolved
Hide resolved
/retest |
This is incredibly comprehensive and impressive, @juliusvonkohout and @akagami-harsh. What obstacles do you anticipate for end users upgrading from Minio to Seawead? Does it make sense to provide migration documentation or automation? |
If users really need the old data then the cluster administrator needs to handle it anyway by copying via boto3 from minio to seaweedfs. So that is something we could deal with in follow up PRs. We could provide a job/cronjob that does this automatically. i think even LLMS can write this. More interesting is probaly the seaweedfs gateway documentation link that shows how users can connect seaweefdfs to AWS/GCP/Azure/S3 compatible object storage. But also there i prefer a follow up PR. Lets /approve and merge what we have @HumairAK @hbelmiro @droctothorpe and continue in follow up PRs. |
/lgtm |
/lgtm |
Hopefully everything adressed
I think lots of files were deleted in the free-disk space step, creating fragmented free space, there is a
After disk cleanup, the disk likely has plenty of total free space but it's fragmented, i think this would explain why MinIO don't hit this issue |
@akagami-harsh I'm skeptical that this is due to defragmentation, and it's likely due to the storage size we are setting in the pvc for seaweedfs, see here. Can we set it to the same size as the minio pvc at 20Gi here? |
|
Signed-off-by: Harshvir Potpose <[email protected]>
New changes are detected. LGTM label has been removed. |
thanks @akagami-harsh, this lgtm, can you squash your commits and add a meaningful clean commit message? |
The commits will be automatically squashed on merge with the PR title as commit message, so i would like to avoid any further changes. ![]() also given multiple authors it is a bit more complicated. |
I updated the commit message to a more meaningful message - in general I prefer to have the PR authors curate their message as they have more domain knowledge. Thank you everyone for all your hard work on this - a much needed change, well done all around ! |
Congrats, everyone! Phenomenal (and overdue) enhancement! You should consider submitting a talk on this to the next Kubeflow Summit in Europe. |
add seaweedFS to KFP as default object store This change switches KFP's default objectstore deployment to Seaweedfs instead of Minio. Minio is still kept as an optional deployment to help users with migrating. CI is updated to accommodate testing for Minio and SeaweedFS. Multi-User testing is also introduced, which also includes namespace authorization testing in Seaweedfs. Some more work is needed to completely rid the KFP backend and frontend code of Minio specific code and labeling, which we accrue as tech debt as part of this change. Signed-off-by: juliusvonkohout <[email protected]> Signed-off-by: Julius von Kohout <[email protected]> Signed-off-by: Harshvir Potpose <[email protected]> Co-authored-by: Harshvir Potpose <[email protected]> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: pschoen-itsc <[email protected]>
add seaweedFS to KFP as default object store This change switches KFP's default objectstore deployment to Seaweedfs instead of Minio. Minio is still kept as an optional deployment to help users with migrating. CI is updated to accommodate testing for Minio and SeaweedFS. Multi-User testing is also introduced, which also includes namespace authorization testing in Seaweedfs. Some more work is needed to completely rid the KFP backend and frontend code of Minio specific code and labeling, which we accrue as tech debt as part of this change. Signed-off-by: juliusvonkohout <[email protected]> Signed-off-by: Julius von Kohout <[email protected]> Signed-off-by: Harshvir Potpose <[email protected]> Co-authored-by: Harshvir Potpose <[email protected]> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: pschoen-itsc <[email protected]>
Description of your changes:
closes kubeflow/manifests#3119
Thank you everyone!
I am pushing this for 4 years or so and even had google and redhat employees involved, back then even Amazon. It is fundamental for CVEs, maintainabiliy (minio is now stuck for 5 years or so) and hard multi-tenancy as basic requirement for an enterprise platform. We also had approaches there for several years with minio. It started all in 2020 here #4649 and went via #7725 (2022) and kubeflow/manifests#2826 (October 2024) to kubeflow/manifests#3051 (2025). Without that experimental and extended tests it would have been very hard to pull of and coordinate. I want to especially highlight @pschoen-itsc who spent his effort here for the public health sector in Germany where many insurances need hard multi-tenancy to process data.
We evaluated many alternatives and now we have something S3 and IAM policy compatible, scalable and with hard multi-tenancy.
@akagami-harsh you can create branches against this PR.