【问题标题】:How to obtain the Kubeflow pipeline run name from within a component?如何从组件中获取 Kubeflow 管道运行名称?
【发布时间】:2020-12-07 22:32:39
【问题描述】:

我正在使用 Kubeflow 管道。我想从任务组件内部访问“运行名称”。例如,在下图中,运行名称是“我的第一次 XGBoost 运行” - 如标题所示。

例如,我知道可以通过将参数{{workflow.uid}} 作为命令行参数传递给obtain the workflow ID。我也试过Argo variable{{ workflow.name }},但这并没有给出正确的字符串。

【问题讨论】:

    标签: python kubernetes kubeflow kubeflow-pipelines


    【解决方案1】:

    您可以使用{{workflow.annotations.pipelines.kubeflow.org/run_name}} argo 变量来获取run_name

    例如,

    @func_to_container_op
    def dummy(run_id, run_name) -> str:
        return run_id, run_name
    
    @dsl.pipeline(
        name='test_pipeline',
    )
    def test_pipeline():
      dummy('{{workflow.labels.pipeline/runid}}', '{{workflow.annotations.pipelines.kubeflow.org/run_name}}')
    
    

    你会发现占位符会被替换为正确的run_id和run_name。

    【讨论】:

      【解决方案2】:

      目前KFP不支持这种自省。

      您能否描述一个需要这样做的场景?

      【讨论】:

      • 在我想将信息记录到外部数据库的任务中。拥有“运行名称”将使用户更容易知道哪个运行产生了哪些数据。目前这是使用 uid 完成的。此外,运行名称通常包含标识运行类型和运行的数据等信息。
      猜你喜欢
      • 2021-04-23
      • 2019-06-30
      • 2023-02-15
      • 2020-10-27
      • 2018-01-26
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多