【华为云技术分享】KubeFlow-Pipeline及Argo实现原理速析

【摘要】 KubeFlow的Pipeline流程引擎,Argo Workflow流程引擎,2者实现原理分析,及2者间的关系。为你云原生流程引擎商用选型提供参考。
Argo Workflow流程引擎,可以编排容器流程来执行业务逻辑,在20年4月8日进入CNCF孵化器组。
而KubeFlow的Pipeline子项目,由Google开源,其全面依赖Argo作为底层实现,并增强持久层来补充流程管理能力,同时通过Python-SDK来简化流程的编写。

1  Argo流程引擎

Argo的步骤间可以传递信息,即下一步(容器)可以获取上一步(容器)的结果。结果传递有2种:

1. 文件:上一步容器新生成的文件,会直接出现在下一步容器里面。

2. 信息:上一步的执行结果信息(如某文件内容),下一步也可以拿到。

下面我们就来解读一下,Argo怎么实现“信息”在容器间的传递的,以及它和其他的流程引擎实现传递的区别。

1.2   文件怎么从上一个容器跑到下一个容器里的?

Argo流程,可以指定2个步骤之间,传递结果文件(Artifact)。即假设流程为:A->B,那么A容器跑完,B容器可以取得上一个容器的输出文件。

如下:A容器生成一个 /tmp/hello_world.txt 文件,Argo将这个文件,放到了B容器里面,并重命名为 /tmp/message文件。

注意:流程上的每个步骤,都对应执行一个容器。 在A跑完后容器就退出了,然后才跑的B(这时候已经没有A容器在运行了)。

所以Argo怎么把一个文件从A容器“拷贝”到B容器里面的?

1.2.1   容器间通过共享存储?(NO)

一般容器间共享文件,首先想到的都是:咱使用共享存储呀,大家都挂载同一个PVC不就行了。

确实共享存储可以实现容器共享文件,但是这里Argo可以:

(1)任意指定文件传递。(2)传递后文件可以改名字。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值