GCP 中持久卷作为卷类型的行为

Behavior of persistent volume as volume type in GCP

我已经通过官方 helm chart 在 GKE 上创建了 jenkins 安装。

deployment 可以明显看出,它将创建一个 PVC 以将 jenkins 主路径(即 /var/jenkins_jome)挂载到永久磁盘。

我正在为此创建一个 GCP 永久磁盘。 (它会自动创建它,因为配置是在云提供商上完成的)。

我的问题如下(而且是 kubernetes 具体的,与 jenkins 没有直接关系)

由于 PD(在其上创建了相应的 PV/PVC)连接到一个节点,如果 jenkins master pod 被调度(比如在重启后)到另一个节点会发生什么?

PD会"follow"节点吗?

有没有jenkinsmaster pod找不到PVC的情况?

Will the [persistent disk] "follow" the node?

是的。对于可以动态附加到节点的卷类型,存储提供商会将卷附加到调度相应 pod 的节点上。

您的应用程序的另一个推论是,如果您在部署中使用更新的 Jenkins 映像(因此删除并重新创建 pod),如果新的 pod 被安排在不同的节点上,永久磁盘可以移动。

(对于这种特定情况,您可能会发现 StatefulSets 对持久卷的处理比 Deployments 好一点;in the Helm chart you link to 如果启用了持久性,它会设置 Deployment strategy: { type: Recreate }。这避免了以下问题在旧 pod 终止并释放 PersistentVolumeClaim 之前,新 pod 无法启动,但是在新 pod 启动并且 运行.)

之前,旧 pod 无法终止