【问题标题】:emptyDir vs hostPath volume type usage on a kubernetes deploymentKubernetes 部署中的 emptyDir 与 hostPath 卷类型使用情况
【发布时间】:2020-01-29 21:09:26
【问题描述】:

kubernetes 部署中的emptyDir vs hostPath(和其他)卷类型使用

从官方文档中可以看出,当使用带有 POD 的 emptyDir 时。 容器崩溃不会从节点中删除 Pod,因此 emptyDir 卷中的数据在容器崩溃时是安全的

所以我在质疑 我们能否以某种方式强制 POD 的内容在升级(推出)时使用 emptyDir 卷类型以及(节点选择器/关联性)使用强制 POD 固定到给定节点? 或 hostPath(或其他卷类型)是我们在设计时需要考虑的内容,以确保即使在推出时无论节点固定如何都重新创建 POD 时数据也能持久保存(我们可以灵活地将这个应用程序固定到集群中的大型节点)

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    部署将使用新的 emptyDir 创建新的 pod。

    您需要persistent volume 才能将以前的数据挂载到新 Pod 中,无论是具有节点固定的本地存储还是共享存储。

    【讨论】:

      【解决方案2】:

      您可能知道,当您升级部署时,它会创建一个新的 POD,并且一旦运行它就会终止您以前的 POD。在这种情况下,emptyDir 将被删除(终止 pod)。正如您所提到的,您可以使用hostPath,以防您拥有节点选择器/亲和性,并且在这种情况下,该文件夹将与您的 pod 的所有实例共享(如果副本 > 1)。这实际上是@Matt 的答案。

      emptyDir 或多或少是一个用于应用程序生命周期的临时文件夹。您不应该在重新启动时存储所需的数据。在 Kubernetes 的文档中,有人说 pod 可以从节点中删除或在出现问题时终止(例如:自动修复)。

      【讨论】:

        猜你喜欢
        • 2022-07-21
        • 2018-10-04
        • 1970-01-01
        • 2020-03-17
        • 2021-06-09
        • 2018-12-02
        • 2019-12-01
        • 2019-09-11
        相关资源
        最近更新 更多