调整 PVC 大小时的问题:只能调整动态配置的 PVC 大小,并且配置 PVC 的存储类必须支持调整大小

Sec*_*ech 4 storage cluster-computing mongodb minikube kubernetes-pvc

我正在尝试创建 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
Run Code Online (Sandbox Code Playgroud)

我编辑了文件 mongodb-pvc.yaml 并将存储字段更改为 2 GB。存储:2Gi,然后再次执行 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
Run Code Online (Sandbox Code Playgroud)

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

请帮忙,我是 Kubernetes 的初学者,尤其是 PVC 的初学者。

Far*_*mat 12

为了调整 PVC 的大小,需要具有属性allowVolumeExpansion在存储类定义中将属性设置为 \xe2\x80\x9ctrue\xe2\x80\x9d。否则,您将无法执行更新。

\n

您可以按照以下步骤操作并将此属性添加到其 YAML:

\n
    \n
  1. 在 Kubernetes Engine -> 存储 -> 存储类中,选择您用于 PVC 的存储类。

    \n
  2. \n
  3. 转到其 YAML 文件并添加指令。正如以下文档中所解释的中所解释的:

    \n
     allowVolumeExpansion: true\n
    Run Code Online (Sandbox Code Playgroud)\n
  4. \n
\n

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

\n