Skip to content
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 Pipelines runtime configuration #3194

Open
gioargyr opened this issue Nov 2, 2023 · 1 comment
Open

Kubeflow Pipelines runtime configuration #3194

gioargyr opened this issue Nov 2, 2023 · 1 comment
Labels
platform: pipeline-Kubeflow Related to usage of Kubeflow Pipelines as pipeline runtime

Comments

@gioargyr
Copy link

gioargyr commented Nov 2, 2023

Describe the issue
I am creating this issue as a clarification for issues #2963 and #3092

To Reproduce
For reproducing this issue, just follow this documentation: https://elyra.readthedocs.io/en/latest/user_guide/runtime-conf.html#kubeflow-authentication-type-auth-type

The actual problem is that this documentation is not enough, so I will define here the critical points:

  • This first point is a prerequisite for every Kubeflow user (Either for the standard user: user@example.com, kubeflow-user-example-com or for any new one)
    Before even creating any Notebook using elyra/kf-notebook docker image, you need to follow this documentation (one time for each kubeflow user): https://www.kubeflow.org/docs/components/pipelines/v1/sdk/connect-api/#full-kubeflow-subfrom-inside-clustersub
    Create a PodDefault so any new pod that is created will have the required ServiceAccount token volume. If you do not do this, you get an error when you submit a Kubeflow Pipeline.
    Create the RoleBinding as it is described, so the ServiceAccount default-editor of each namespace of each Kubeflow user will have the correct rights to create Kubeflow pipelines.
    Now, if PodDefault and RoleBinding are created the right way, when you create a new Notebook and select Advanced Options, then Allow access to Kubeflow Pipelines will be available as an option and you will be able to select it.

  • After creating a new Notebook (based on elyra/kf-notebook docker image) and before submitting any pipeline to Kubeflow, you need to create a Kubeflow Pipelines runtime configuration.
    kubeflow namespace has 3 services related to pipeline: ml-pipeline, ml-pipeline-ui, ml-pipeline-visualizationserver
    The correct one to define as Kubeflow API Endpoint the service ml-pipeline, so when creating a new Kubeflow Pipelines runtime configuration the correct value for the field Kubeflow API Endpoint is this url: http://ml-pipeline.kubeflow.svc.cluster.local:8888

Up to this point, the real issue is that all this info is either badly or sparsely documented. I am aiming to point this out, so any other person that will have any similar issue in the future will be able to find all the important info in one place.
Also, improving the documentation will be enough to resolve this issue.

FYI: In my case, I also had an issue similar to kubeflow/pipelines#7568 , but I am going to create an issue to Kubeflow project.

Deployment information

  • Elyra version: 3.15.0
  • Installation source: official container image
  • Deployment type: Kubeflow [notebook server]
  • Operating system: Ubuntu 22.04
  • Kubeflow version: 1.7.0
@lresende
Copy link
Member

lresende commented Nov 2, 2023

Please raise a PR for documentation updates

@lresende lresende added platform: pipeline-Kubeflow Related to usage of Kubeflow Pipelines as pipeline runtime and removed status:Needs Triage labels Nov 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform: pipeline-Kubeflow Related to usage of Kubeflow Pipelines as pipeline runtime
Projects
None yet
Development

No branches or pull requests

2 participants