调整PVC大小的问题:只有动态配置的PVC可以调整大小,并且提供PVC的存储类必须支持调整大小 &g



我正在尝试创建pvc,可以根据需要调整大小。

我使用这个代码从github mongodb pvc。

我遵循了所有步骤,pvc创建如下:

PS C:Users> minikube kubectl -- get pvc
NAME         STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
mongo-data   Bound     pvc-4a22efc0-9fd3-42dc-80a7-db86e8f2c189   1Gi        RWO            standard       32m

我编辑了文件mongodb-pvc。并将存储字段更改为2gb。然后再次执行kubectl apply命令,出现以下错误:

PS C:Users> minikube kubectl -- apply -f mongodb-pvc.yaml
Error from server (Forbidden): error when applying patch:
{"metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{},"name":"mongo-data","namespace":"default"},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"2Gi"}}}}n"}},"spec":{"resources":{"requests":{"storage":"2Gi"}}}}
to:
Resource: "/v1, Resource=persistentvolumeclaims", GroupVersionKind: "/v1, Kind=PersistentVolumeClaim"
Name: "mongo-data", Namespace: "default"
for: "mongodb-pvc.yaml": persistentvolumeclaims "mongo-data" is forbidden: only dynamically provisioned pvc can be resized and the storageclass that provisions the PVC must support resize

我也尝试使用存储类,但无法正确映射它。

请帮,我是一个初学者Kubernetes特别是PVC。

为了调整PVC的大小,需要在存储类定义中将属性allowVolumeExpansion设置为" true "。否则,您将无法执行更新。

您可以遵循以下步骤并将此属性添加到其YAML:

  1. 在Kubernetes引擎->存储→存储类,选择您用于PVC的存储类。

  2. 转到它的YAML文件并添加指令。如下文档所示:

    allowVolumeExpansion: true
    

一旦修改了YAML文件,尝试再次执行PVC的大小调整

最新更新