kubeflow 管道定义中的 volume 和 pvolume 有什么区别?
What is the difference between volume and pvolume in kubeflow pipeline definition?
我正在研究 kubeflow 管道以及管道的不同组件如何相互链接。为此,我使用了官方 GitHub 存储库中可用的 MNIST 项目示例。但是我无法理解下面代码片段中 vop.volume
和 mnist_training_container.pvolume
之间的区别。从文档 dsl.VolumeOp.add_volume I assume that vop.volume
is kubernetes volume 但我不清楚 pvolume
以及为什么它链接到训练容器以及它们之间有什么区别。
vop = dsl.VolumeOp(
name="create_volume",
resource_name="data-volume",
size="500Mi",
modes=dsl.VOLUME_MODE_RWM)
# Create MNIST training component.
# train_op is from func_to_container_op which returns a kfp.dsl.ContainerOp.
# To this container we assign a K8 volume using add_pvolumes.
mnist_training_container = train_op(data_path, model_file) \
.add_pvolumes({data_path: vop.volume})
# Create MNIST prediction component.
mnist_predict_container = predict_op(data_path, model_file, image_number) \
.add_pvolumes({data_path: mnist_training_container.pvolume})
pvolume 是一个有点奇怪的概念,在 KFP 中有点陌生。这个想法是,一个卷在组件之间“传递”,类似于正常输出(实际上它是相同的卷)。
我们建议用户避免在组件中使用 pvolume 功能并避免使用卷。否则,组件和管道不可移植且可用性有限。
请查看示例、教程和组件。几乎没有管道使用卷。
Python and shell components. Check how the pipelines usually look like. example XGBoost training pipeline请查看以下两个教程。
我正在研究 kubeflow 管道以及管道的不同组件如何相互链接。为此,我使用了官方 GitHub 存储库中可用的 MNIST 项目示例。但是我无法理解下面代码片段中 vop.volume
和 mnist_training_container.pvolume
之间的区别。从文档 dsl.VolumeOp.add_volume I assume that vop.volume
is kubernetes volume 但我不清楚 pvolume
以及为什么它链接到训练容器以及它们之间有什么区别。
vop = dsl.VolumeOp(
name="create_volume",
resource_name="data-volume",
size="500Mi",
modes=dsl.VOLUME_MODE_RWM)
# Create MNIST training component.
# train_op is from func_to_container_op which returns a kfp.dsl.ContainerOp.
# To this container we assign a K8 volume using add_pvolumes.
mnist_training_container = train_op(data_path, model_file) \
.add_pvolumes({data_path: vop.volume})
# Create MNIST prediction component.
mnist_predict_container = predict_op(data_path, model_file, image_number) \
.add_pvolumes({data_path: mnist_training_container.pvolume})
pvolume 是一个有点奇怪的概念,在 KFP 中有点陌生。这个想法是,一个卷在组件之间“传递”,类似于正常输出(实际上它是相同的卷)。
我们建议用户避免在组件中使用 pvolume 功能并避免使用卷。否则,组件和管道不可移植且可用性有限。
请查看示例、教程和组件。几乎没有管道使用卷。
Python and shell components. Check how the pipelines usually look like. example XGBoost training pipeline请查看以下两个教程。