-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Kubeflow contains 2 controllers for launching Tensorboards #5921
Comments
Thank you for raising the issue! Recently from KFP side we noticed a need for more generic viewer, e.g. other visualization tools besides tensorboard. Also, KFP doesn't have a good CRUD UI for tensorboard. So it seems there are a lot of value to unify and make this more generic. |
In general, I think there should be a focus on improving the integration between the components to make everything feel like a more cohesive and polished platform, which would be done through the UIs. |
Another option would be to create a new controller that combines the notebook controller and the KFP @Bobgy Do you think it would be acceptable for KFP to rely on such a common controller, mainly in terms of standalone deployments? I don't think it would be very different from the current situation with Argo Workflows for example. |
For KFP standalone, there is some special proxy setup in KFP UI deployment, it doesn't use VirtualService. Other than this, all the requirements seem to match very well. I personally think this is worth doing and KFP standalone can just take a third-party viewer controller too. |
/cc @zijianjoy |
I'm sending out a generic viewer controller proposal in kubeflow/pipelines#5681 |
/kind feature |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
In the 1.3 release, the Notebooks Working Group added the Tensorboards Web App that uses the tensorboard controller to launch tensorboard instances. However, Kubeflow Pipelines already contains the viewers.kubeflow.org CRD as part of its controller, which currently is only used to start Tensorboard instances. As a result, there are now 2 controllers, along with 2 CRDs and 2 controller deployments that are serving the same purpose. Except for the obvious duplication of code and increased maintenance and deployment complexity, this is not great for the user experience. Many users will not know or expect that there are 2 controllers and CRDs that are used to start Tensorboard instances, and will also wonder why the Tensorboards Web App does not list the tensorboard instances created as part of a pipeline. The tensorboards controller also has the image it uses for the tensorboard pod hardcoded in the controller, so there is no way for the user or the cluster admin to change what image is being used for launching a tensorboard instance (particularly problematic for those behind a firewall or in an airgapped environment).
For this reason, I would like to suggest to use the
viewers
CRD that is part of Kubeflow Pipelines in the Tensorboards Web App. Along with that, I would like to suggest to port the feature from the tensorboard controller to the KFPviewers
controller if they are not already present (for example RWO scheduling logic).The 2 main reason for using the KFP
viewers
CRD over the tensorboard controller are:viewers
CRD is setup to be a more general CRD that is built to be extended to other types of viewers, such as a file browser for example./cc @kubeflow/wg-notebooks-leads @kubeflow/wg-pipeline-leads
The text was updated successfully, but these errors were encountered: