-
Notifications
You must be signed in to change notification settings - Fork 221
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
[PROPOSAL] no official production deployment method policy #821
Comments
@kubeflow/kubeflow-steering-committee I think this issue is critical for the health of the project. I would like formally request your feedback and formal vote on this topic (after the community has had reasonable time to raise their opinions). |
/cc @kubeflow/wg-notebooks-leads @kubeflow/wg-data-leads @kubeflow/wg-automl-leads @kubeflow/wg-pipeline-leads @kubeflow/wg-training-leads @kubeflow/wg-manifests-leads |
My current definition of distribution differs a lot. For me it becomes a distribution by deriving /deviating from Kubeflow/manifests in private or public. And I am definitely in favour of basic helm charts as 1:1 Kustomize copy, opposite to what you require from a helm chart. The production usage warning is also something I do not support and my boundaries are more inclusive. From my point of view you would need to heavily cater to for example AWS to cross the line. I think we are far far away from that in kubeflow/manifests and we could tell users about special quirks for popular platforms although our main target is Kubernetes including authentication. Maybe on the "no official distribution I could agree, but only partially because kubeflow/manifests is not a distribution by my definition. For me it's a balance between commercial and community interests and the more development happens upstream in kubeflow/manifests the better, because everyone can gain from it. I also have a longer text/proposal discussed, but like I said before the KSC has 5 members and is still refining an answer, so you might have to wait a bit. This is what i have in mind: "The Kubeflow manifests provide a quick way to get a minimum viable Kubeflow Platform up and running. We also welcome contributions and bug reports very much to improve the experience for everyone. The Kubeflow community support for Kubeflow manifests is best-effort, and not guaranteed for environment-specific issues or custom configurations. If you explicitly need commercial support there are many options. You can use a third-party commercial distribution, hire consultants or build up the knowledge yourself to maintain and extend your Kubeflow installation." |
@juliusvonkohout It's not war between commercial vs community, almost everyone who works on Kubeflow is paid to be here, either as consultants, distribution vendors, or end-users of the actual tools. The reason I am so serious about these 3 points is that it's simply not sustainable for the community to maintain an official distribution that can be used everywhere. There is extreme variation in the way people build AI platforms on Kubernetes:
|
I am +1 on the community not developing, promoting and supporting an "official production ready" distribution for all environments. I think those requirements are too large and would be very difficult to deliver. That said, having an installation solution that "works" in a specific configuration(s) would potentially address a concern from (new) users, who are just wanting to try out Kubeflow. I propose the term "production" means different things to different people and not every application/installation needs 99.999% uptime. If the concern is around "official" and "production", then we can use other terms like community supported and perhaps "operational" or "functional". I propose the community Helm project could define the installation and support expectation (and limitations) around a community supported Helm installation pattern that provides an operational Kubeflow cluster in a specific environment. My 2 cents, Josh |
Hello, my suggestion is to focus on a Helm Chart that deploys Kubeflow Components and Kubeflow Components only, provide a nice templating and parameterization capabilities and document some use cases for usage and configuration of dependencies in different environments. I think going anywhere beyond that is too much on the community and at the same time provides great flexibility for any distribution. This is exactly what's happening here: From my perspective, there is not too much configuration needed for Kubeflow Components to work on AWS/GCP/local. The big differences shows up where we consider the dependencies together with Kubeflow Components as the whole Kubeflow Platform. Istio, cert-manager, Argo WF, Dex, oauth2-proxy (and more), all of them can have different configuration for specific cloud vendor. Documenting these cases and showing differences between a quick install and cloud specific configuration so people can make their distributions based on official guidelines and an easy to parameterize tool is something maintainable and I think it would be very much appreciated by the community. |
Background
We originally created the concept of "Kubeflow Distributions" because it's not sustainable for the community to maintain an official distribution that can be used everywhere. This is because of the extreme variation in the way people build AI platforms (which Kubernetes they use, which tools they choose, how they do auth, how they do networking, etc.).
Given the recent push by some members to create official helm charts for the "Kubeflow Platform", and promote them on the
kubeflow/manifests
repository, I believe that it is critical we agree on a path forward that ensures the project remains sustainable.Proposal
Point 1: We agree not to build or promote any specific way of deploying "Kubeflow Platform" as official, or supported directly by the community for production usage.
Point 2: We create a formal conformance program that sets minimum expectations (i.e. included tools, open-source licensing, etc.) to be called a "Kubeflow Platform" and be listed on the Kubeflow Website.
Point 3: We agree that
kubeflow/manifests
are not intended to be used in production without manual changes, and we will not support vendor-specific integrations beyond ensuring they work on local Kind clusters.Questions
Why is this related to Helm charts?
Are you saying Kubeflow should not have helm charts?
Definitions
Kubeflow Platform:
Standalone Components:
The text was updated successfully, but these errors were encountered: