Docker kubeflow管道中的特定组件(步骤)是否可以水平缩放(自动分段)?
所有这些都是在我使用轻量级python函数作为kubeflow管道中的一个组件时发生的,但最近我转而使用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',
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
文件并共享它们: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