SUBMARINE-462. Submarine server should support helm charts#270
SUBMARINE-462. Submarine server should support helm charts#270JohnTing wants to merge 14 commits intoapache:masterfrom
Conversation
|
@jiwq @tangzhankun Please help review this PR, Thanks! |
There was a problem hiding this comment.
Thanks for @JohnTing great contribution.
I suggest split the charts to three items, such as submarine/ kubeflow-tf-operator/kubeflow-pytorch-operator, more info see https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#method-2-separate-charts. If do it, we should modify the submarine charts to dependency on others.
Because it not must changed in this pr, so I accept refactor it in next pr.
cc: @liuxunorg @tangzhankun
| if [[ -z "${submarine_dist_exists}" ]]; then | ||
| cd "${SUBMARINE_HOME}" | ||
| mvn clean package -DskipTests | ||
| mvn clean package -DskipTests -pl '!submarine-cloud' |
There was a problem hiding this comment.
Thanks for @jiwq comment
When I build submarine-cloud with normal user, there will be a /submarine-cloud/bin/ submarine-operator and requires root permission to delete
I have to manually delete with root permissions to proceed to the next build
So I usually skip submarine-cloud when build
|
This PR, wait for me to take a look. |
xunliu
left a comment
There was a problem hiding this comment.
@JohnTing very cool!!! Thank you contribution this important feature.
I have 3 suggestions:
- Can you attach this helm running screenshot to this PR, so that it can be more easily understood by everyone.
- This PR contains helm files of
tf,pytorch, andsubmarine. Too many contents are submitted at once. The best practice is to complete one helm for each PR. - In addition, the
submarine-operatorhelm file is missing from the submarine helm file,
https://github.com/apache/submarine/tree/master/submarine-cloud/manifests/submarine-operator,
Submarine-operatoris submarine's automated operation and maintenance tool, just liketf-operator. You can wait for this PR to merge and create a new PR separately.
|
@JohnTing If you complete this PR, please notify me. Thanks! |
|
@JohnTing could you please update based on our offline discussion? |
|
@tangzhankun, Thanks for your comment The current version is no submarine-operator Wait, I forgot to delete submarine-operator |
Good idea! i agree. |
|
@liuxunorg |
@JohnTing I think we should rename the |
|
@JohnTing I'm kind of confusing. Why are we making 3 helm charts? Any technical reason for that? |
|
@jiwq @liuxunorg I have updated this pr, please review it. Thanks. |
A few days ago, jiwq suggested that I should divide charts into three parts #270 (review) |
|
@JohnTing , I've discussed with the intention of multiple helm charts with Wanqiang. Only one big concern is that it seems we'd have to release multiple helms chars if we would like "helm install stable/submarine"? |
No, after I update dependencies , I can merge 3 helm charts into one now. |
@JohnTing Thanks for your patience and careful work. If we decide merge charts, maybe we should keep only the By the way, the purpose of the split proposal is for easy maintenance and scale at later, also the submarine user can select which machine learning framework can be deployed within him/her cluster. And in the initial stage, I did not consider to release the charts to official repo. I suggest use the split proposal, but if we want to release it to official repo, I think the single chart is the best practice. cc: @tangzhankun @liuxunorg |
|
Thanks @jiwq for your suggestion. I changed the folder structure. |
jiwq
left a comment
There was a problem hiding this comment.
+1 LGTM If no more comments, I will commit it later. Thanks @JohnTing working for this.
cc: @liuxunorg @tangzhankun
|
@JohnTing Thanks for the hard work! @jiwq @liuxunorg Thanks for the review. Let's first go with the one helm charts without dependencies. This PR looks good to me. |
|
@tangzhankun |
|
@JohnTing , Thanks for the clarification! LGTM. +1 |
|
Will merge if no more comments. |

What is this PR for?
Currently, there are no tools to install submarine on k8s in one command.
Helm chart is a perfect tool we can choose. In order to do this:
Create helm charts supporting deployments of tensorflow operator, pytorch operator, and submarine server, MySQL.
Create Dockerfiles used to build submarine components' docker images and create tools to handle the required version push to docker hub.
Setup proxy using kubectl to access the submarine server locally
Verify that sample job spec can be submitted to the submarine server successfully.
Verify that workbench can be accessed in a local browser.
After this, if the user has a k8s cluster. The below command will get the installation done.
helm install /charts
What type of PR is it?
Feature
Todos
What is the Jira issue?
https://issues.apache.org/jira/projects/SUBMARINE/issues/SUBMARINE-462
How should this be tested?
Screenshots (if appropriate)
Questions: