【问题标题】:Accessing persistent volume portably after job completion作业完成后可移植地访问持久卷
【发布时间】:2018-03-26 14:26:35
【问题描述】:

我想使用将结果写入持久卷的作业和常规部署。然后当工作完成后,我需要访问这些结果。该系统将在多个不同的平台上运行,例如 Azure (AKS)。理想情况下,我想使用自动创建实际卷的持久卷声明。效果很好。但是,之后我还没有找到一种可移植的方式来访问数据。有没有我错过的?

我可能可以使用 AKS 命令并在 AKS 中安装底层存储,但是我需要为每个平台构建一个解决方案。 Kubernetes 支持自定义回收插件,但我不想回收数据。我想以便携方式访问它(即通过 Kubernetes),然后删除该卷。这可能吗?如果没有,是否在路线图上?

【问题讨论】:

    标签: kubernetes azure-container-service


    【解决方案1】:

    如果你想要一个独立于平台的解决方案,我认为最好的方法是使用一些跨平台的存储,它可以在任何地方工作,并提供一些简单的方法来访问它们。

    可以是 NFS、GlusterFS 或 AzureFiles 存储,您可以在几乎任何平台上随时挂载。

    是的,在 Kubernetes 中,您可以访问已经存在的卷,但如果是动态创建的卷,您将来可能会遇到管理大量卷的问题。而且,不幸的是,Kubernetes 没有任何回收策略,例如“挂载两次并删除卷”或类似的东西。

    我的想法是使用可以以ReadWriteMany 模式安装的存储。请查看table,查看不同存储类型的可用模式列表。

    您可以将同一个卷用于所有作业,同时使用第三方工具管理该卷上的数据,无需任何额外工作。

    当然,您将能够清理您已经不需要的数据。

    【讨论】:

    • 这是一个选项,但我真的在寻找通过 K8s 的便携式解决方案。我可以在 minikube、AKS 和任何其他现代集群中运行当前解决方案而无需事先设置。唯一的问题是,当 pod 消失时,我无法访问卷中的结果。这可以通过多种方式解决,但如果可以通过平台在其他地方重新安装给定的卷,那就太好了。
    猜你喜欢
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多