我是KubeFlow的新手,试图移植/调整现有解决方案以在KubeFlow管道中运行。我现在解决的问题是现有解决方案通过挂载卷共享数据。我知道这不是KubeFlow中组件交换数据的最佳实践,但这将是概念的临时证明,我别无选择。
我面临着从管道访问现有卷的问题。我基本上是从KubeFlow留档运行代码,但指向现有的K8S Vo
def volume_op_dag():
vop = dsl.VolumeOp(
name="shared-cache",
resource_name="shared-cache",
size="5Gi",
modes=dsl.VOLUME_MODE_RWO
)
存在卷共享缓存:
但是,当我运行管道时,会创建一个新卷:
我做错了什么?我显然不想每次运行管道时都创建一个新卷,而是挂载一个现有的卷。
编辑:添加KubeFlow版本:
查看函数kfp. onperm.mount_pvc
。您可以通过控制台命令kubectl-n找到参数
pvc_name
和volume_name
的值
train = train_op(...)
train.apply(mount_pvc('claim-name', 'pipeline', '/mnt/pipeline'))
另请注意,卷和管道必须位于同一命名空间中。