【问题标题】:Spring Batch Restartability on Kubernetes for File OperationsKubernetes 上用于文件操作的 Spring Batch Restartability
【发布时间】:2021-08-24 00:01:00
【问题描述】:

我想了解在Kubernetes上重启spring批处理应用程序时访问处理文件的正确方法是什么。特别是如果目标类型是文件,它会在之后与pod一起被删除作业失败。

我们正在考虑使用持久卷或通过实现侦听器来备份创建的文件,例如 DB 或 sftp 服务器。

有没有人有文件操作的持久卷使用(nfs 或其他解决方案)的经验。我们担心性能和意外问题。你有什么建议吗?

谢谢。

【问题讨论】:

    标签: kubernetes spring-batch batch-processing spring-cloud-dataflow


    【解决方案1】:

    您不应该依赖 Pod 的临时文件系统来获取应该在作业 (Pod) 故障后保留并幸存的文件。

    您需要为此使用持久卷,以便 Spring Batch 可以在重新启动场景中找到(不完整的)输出文件并从中断处继续写入。

    【讨论】:

    • 感谢您的回复。是的,正如您所说,我们希望将 PV 用于重启场景。大文件操作你体验过吗?我们想知道它的性能或任何副作用。
    • 是的,我在这里分享了一些经验:stackoverflow.com/a/60930025/5019386。在 PV 中进行文件操作时,从未注意到任何性能问题。
    【解决方案2】:

    如果您想要数据持久性,您可以先使用 hostPath 卷。这将限制您的 pod 可以在哪些节点上生成。 But 是最简单的,并为您提供最佳性能。

    https://kubernetes.io/docs/concepts/storage/volumes/#hostpath

    如果要动态分配,则需要配置存储解决方案,如GlusterFS、NFS、CEPH等。

    【讨论】:

    • 感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 2021-11-13
    相关资源
    最近更新 更多