Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker kubeflow管道中的特定组件(步骤)是否可以水平缩放(自动分段)?_Docker_Google Cloud Platform_Pipeline_Kubeflow_Kubeflow Pipelines - Fatal编程技术网

Docker kubeflow管道中的特定组件(步骤)是否可以水平缩放(自动分段)?

Docker kubeflow管道中的特定组件(步骤)是否可以水平缩放(自动分段)?,docker,google-cloud-platform,pipeline,kubeflow,kubeflow-pipelines,Docker,Google Cloud Platform,Pipeline,Kubeflow,Kubeflow Pipelines,所有这些都是在我使用轻量级python函数作为kubeflow管道中的一个组件时发生的,但最近我转而使用docker容器作为kubeflow管道中的一个组件,就像这样 produce: str = 'hello' ): return dsl.ContainerOp( name = 'Say hi', image = 'docker.io/playground/comp1:latest', command = ['python',

所有这些都是在我使用轻量级python函数作为kubeflow管道中的一个组件时发生的,但最近我转而使用docker容器作为kubeflow管道中的一个组件,就像这样

    produce: str = 'hello'
):
    return dsl.ContainerOp(
        name = 'Say hi', 
        image = 'docker.io/playground/comp1:latest', 
        command = ['python', 'msg.py'],
        arguments=[
            '--msg', send_msg
        ],
        file_outputs={
            'output': '/output.txt',
        }
    )
我需要对上述代码进行一些更改吗?我需要自动缩放docker容器吗?如果是这样的话,dsl.ContainerOp将如何知道应该命中哪个docker容器实例

我做了很多搜索,也探索了kfp包,看看这是否有帮助,但幸运的是,我甚至找不到更接近它的解决方案。 首先,这可能吗?我的方向对吗?
有人能帮我做研发吗?

我认为代码没有问题,你的思路是对的。根据GCP文档,您可以利用GKE autoscaling水平扩展您的工作负载。也就是说,您可以在部署清单中定义pod。请注意,pod将像容器一样包含kubeflow组件。有关详细信息,请点击链接。我希望这能帮助您解决这个问题。

我认为代码没有问题,您的思路是正确的。根据GCP文档,您可以利用GKE autoscaling水平扩展您的工作负载。也就是说,您可以在部署清单中定义pod。请注意,pod将像容器一样包含kubeflow组件。有关详细信息,请点击链接。我希望这能帮助你解决这个问题

我在kubeflow管道中使用轻量级python函数作为组件,但最近我改用docker容器作为组件

  • 轻型组件是合适的容器组件。您可以将它们导出到
    component.yaml
    文件并共享它们:
    create\u component\u from\u func(my\u func,output\u component\u file='component.yaml')
    或(相同)
    func\u to_container\u op(my\u func,output\u component\u file='component.yaml')

  • ContainerOp
    s不是组件。它们是半编译的任务类对象。我们建议用户不要直接创建它们,而是创建真正的可重用组件

  • component.yaml

    name: 'Say hi'
    inputs:
    - {name: Message}
    outputs:
    - {name: Output}
    implementation:
      container:
        image: 'docker.io/playground/comp1:latest'
        command: ['python', 'msg.py']
        args: [
          '--msg', {inputValue: Message},
          '--output', {outputPath: Output},
        ]
    
    然后使用
    load_component_from_file
    load_component_from_url
    load_component_from_text
    加载它,并在多个管道中使用它。 可重用组件在实例化时会自动生成
    ContainerOp
    s

  • 在执行方面,轻量级组件、从component.yaml加载的组件和手动创建的ContainerOp实例之间没有区别
  • 我需要对上述代码进行一些更改吗?我需要自动缩放docker容器吗

    可能不会。Kubernetes的自动缩放是一种选择加入功能,当节点负载较高时,它会启动更多节点。因此,只有当您并行运行许多繁重的任务时,它才会生效。如果您只运行一个任务,那么没有什么可扩展的

    我在kubeflow管道中使用轻量级python函数作为组件,但最近我改用docker容器作为组件

  • 轻型组件是合适的容器组件。您可以将它们导出到
    component.yaml
    文件并共享它们:
    create\u component\u from\u func(my\u func,output\u component\u file='component.yaml')
    或(相同)
    func\u to_container\u op(my\u func,output\u component\u file='component.yaml')

  • ContainerOp
    s不是组件。它们是半编译的任务类对象。我们建议用户不要直接创建它们,而是创建真正的可重用组件

  • component.yaml

    name: 'Say hi'
    inputs:
    - {name: Message}
    outputs:
    - {name: Output}
    implementation:
      container:
        image: 'docker.io/playground/comp1:latest'
        command: ['python', 'msg.py']
        args: [
          '--msg', {inputValue: Message},
          '--output', {outputPath: Output},
        ]
    
    然后使用
    load_component_from_file
    load_component_from_url
    load_component_from_text
    加载它,并在多个管道中使用它。 可重用组件在实例化时会自动生成
    ContainerOp
    s

  • 在执行方面,轻量级组件、从component.yaml加载的组件和手动创建的ContainerOp实例之间没有区别
  • 我需要对上述代码进行一些更改吗?我需要自动缩放docker容器吗

    可能不会。Kubernetes的自动缩放是一种选择加入功能,当节点负载较高时,它会启动更多节点。因此,只有当您并行运行许多繁重的任务时,它才会生效。如果您只运行一个任务,那么没有什么可扩展的