错误场景: 因为阿里云没有默认的 StorageClass 我也懒得更新,所以就创建了一个类型是云盘的 StorageClass。 但是在创建 PVC 之后发现一直是 Pending 状态就查询了一下日志,然后看到很多下面这种错误

liudui@MacBookM1Pro ~ % kubectl describe pvc grafana-pvc
Error from server (NotFound): persistentvolumeclaims "grafana-pvc" not found
liudui@MacBookM1Pro ~ % kubectl describe pvc grafana-pvc  -n grafana-view
Name:          grafana-pvc
Namespace:     grafana-view
StorageClass:  grafana
Status:        Pending
Volume:
Labels:        <none>
Annotations:   volume.beta.kubernetes.io/storage-provisioner: diskplugin.csi.alibabacloud.com
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode:    Filesystem
Used By:       grafana-566494879c-6drdf
Events:
  Type     Reason              Age   From                                                                                                  Message
  ----     ------              ----  ----                                                                                                  -------
  Warning  ProvisioningFailed  35s   diskplugin.csi.alibabacloud.com_csi-provisioner-5bfd5f4bb-l2m2j_fda93bfc-107f-4a5f-8596-ca3d15846878  failed to provision volume with StorageClass "grafana": rpc error: code = Internal desc = SDK.ServerError
ErrorCode: InvalidParameter
Recommend: https://api.aliyun.com/troubleshoot?q=InvalidParameter&product=Ecs
RequestId: 50A269B4-2ACA-572D-B1A5-84D91ACDE77F
Message: The specified parameter "Size" is not valid.
  Warning  ProvisioningFailed  35s  diskplugin.csi.alibabacloud.com_csi-provisioner-5bfd5f4bb-l2m2j_fda93bfc-107f-4a5f-8596-ca3d15846878  failed to provision volume with StorageClass "grafana": rpc error: code = Internal desc = SDK.ServerError
ErrorCode: InvalidParameter
Recommend: https://api.aliyun.com/troubleshoot?q=InvalidParameter&product=Ecs
RequestId: B6BD668D-C7EF-5BED-8E58-301A464B5D05
Message: The specified parameter "Size" is not valid.
  Warning  ProvisioningFailed  33s  diskplugin.csi.alibabacloud.com_csi-provisioner-5bfd5f4bb-l2m2j_fda93bfc-107f-4a5f-8596-ca3d15846878  failed to provision volume with StorageClass "grafana": rpc error: code = Internal desc = SDK.ServerError

使用的配置

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: grafana-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: grafana

原因: 根据阿里云 FAQ 文档 发现在 PVC 中指定的云盘大小不符合规范,不同类型云盘有最小容量的限制,例如,高效云盘和 SSD 云盘要求最小 20GiB
然后我的 PVC 申领的是 1GB 所以就导致了创建 PV 失败。
修复办法二选一

  • PVC storage 设置为最小 20 GiB
  • 更换其他 StorageClass 类型
liudui@MacBookM1Pro ~ % kubectl get pv -n grafana-view | grep grafana-pvc
d-bp1bgvzk7l5lkz3q1pr8                     30Gi       RWO            Delete           Bound    grafana-view/grafana-pvc                         grafana                 16m
liudui@MacBookM1Pro ~ % kubectl get pvc -n grafana-view
NAME          STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
grafana-pvc   Bound    d-bp1bgvzk7l5lkz3q1pr8   30Gi       RWO            grafana        16m

更新之后成功。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐