Skip to content

Kubeflow Pipelines runtime configuration #3194

@gioargyr

Description

@gioargyr

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: [email protected], 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    platform: pipeline-KubeflowRelated to usage of Kubeflow Pipelines as pipeline runtime

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions