【问题标题】:PVC behavior with Dynamic Provision and Replicaset动态配置和复制集的 PVC 行为
【发布时间】:2021-04-20 22:06:19
【问题描述】:

我有一个问题,对于通过副本集创建的 pod 上的动态存储类绑定到一个 PV 的 PVC,如果该 pod 在另一台主机上终止并重新启动,它会获得相同的 PV 吗? 我看到在同一个 PV 处于活动状态之前无法重新调度 Pod,但我无法理解标准行为应该是什么以及 PVC 在副本集和 statefulset 之间应该如何做出不同的反应

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    另一个主机意味着另一个 Kubernetes 节点?

    如果 POD 重新启动终止并在另一个 节点上再次调度,在这种情况下,如果 PVC 和 PV 存在,磁盘将安装到该特定的 node 和 POD 再次开始运行。是的,PVC 和 PV 将是相同的,但仍取决于 保留 政策。

    您可以阅读更多关于:https://cloud.google.com/kubernetes-engine/docs/concepts/persistent-volumes#deployments_vs_statefulsets

    PersistentVolume 可以有各种回收策略,包括 “保留”、“回收”和“删除”。对于动态配置 PersistentVolumes,默认回收策略是“删除”。这表示 动态配置的卷会自动删除,当 用户删除对应的 PersistentVolumeClaim。

    阅读更多:https://kubernetes.io/docs/tasks/administer-cluster/change-pv-reclaim-policy/

    如果你的 pod 被终止或重新启动意味着你没有删除 PVC 在这种情况下 PV 将在那里 POD 将再次附加到 PVC 并开始在相应的节点。

    【讨论】:

    • 谢谢哈拉什,如果相同的场景或 POD 在一个节点上终止(实际上节点本身变得不可用),那么请在副本集和状态集之间有什么不同,因此需要重新安排 POD /restarted 在不同的节点上,PVC/PV 假设在每个副本集与 statefulset 中的行为如何
    • 如果节点本身变得不可用,POD 将获取新节点的计划,在这种情况下,PV 或者我们可以说连接到磁盘的磁盘将自动转移到新节点,POD 将开始为 statefulset 和 RS 自动运行。如果您的节点崩溃或不健康 kubernetes 将自动将 POD 调度到新节点,手动重新调度并且不需要重新启动。
    • 感谢 Harsh 的详细解释,就像我在思考 PVC/PV 区域中 statefulset 和 RS 之间的区别一样 :) 时,我认为两者对磁盘的处理方式不同,但看起来它们的行为一样,对吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    • 2014-10-03
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多