如果以更高的容量重新启动,statefulset 是否会传输数据?

Does statefulset transfer data if restarted with higher volume?

我有一个有 2 个副本的状态集,我想将每个 pods 中的存储从 300GB 增加到 3TB。所以我编辑了 statefulset 来增加存储。

但这并没有直接反映出来。我计划使用 type:

命令重新启动

kubectl rollout restart statefulset my-statefulset

但我不确定这是否会创建 Pods 的新卷,或者是否有一种简单的方法可以确保它将 300GB 的旧数据传输到 [=12] 的卷=].

我正在使用 GKE。

客户端版本:v1.16.1

服务器版本:v1.14.10-gke.42

有办法扩容。步骤简述

  1. 您的存储 class 应该将 allowVolumeExpansion 字段设置为 true 并且供应商应该支持它(在 GKE 的情况下,如果您的卷是使用供应商供应的:kubernetes。io/gce-pd 这将起作用)。
  2. 编辑PVC中的存储空间(记住只能扩容不能缩容)
  3. 编辑后,它将等待 pod 重新启动以进行扩展。一旦 pod 重新启动,它将扩展卷。

参考文档:here