如何扩展 Kubernetes 物理卷声明 (PVC)

重要提示: 默认情况下,卷不会立即调整大小,而是需要重启关联的 pod。

首先,确保你已为 PVC 的存储类设置 allowVolumeExpansion: true。请参见我们之前关于如何允许 Kubernetes 存储类的物理卷声明 (PVC) 调整大小的文章了解更多详情。

我们可以通过运行以下命令扩展卷(在此示例中名为 myapp-myapp-pvc-myapp-myapp-1

resize_pvc.sh
kubectl patch pvc/"myapp-myapp-pvc-myapp-myapp-1" \
  --namespace "default" \
  --patch '{"spec": {"resources": {"requests": {"storage": "40Gi"}}}}'

确保你已替换 PVC 的名称(在此示例中为 myapp-myapp-pvc-myapp-myapp-1)和存储大小。只能增加卷的大小/扩展它,而不能缩小/收缩它。如果你的大小小于之前的值,你将看到此错误消息:

error.txt
The PersistentVolumeClaim "myapp-myapp-pvc-myapp-myapp-1" is invalid: spec.resources.requests.storage: Forbidden: field can not be less than previous value

运行此命令后,PVC 将处于 FileSystemResizePending 状态。

为了使更新生效,你需要强制 Kubernetes 重新创建部署的所有 pod。要了解如何执行此操作,请阅读我们关于如何强制重启 Kubernetes 部署中的所有 Pod的文章。

供参考,请参见官方文档了解扩展持久卷


Check out similar posts by category: Cloud, Kubernetes