Kubernetes部署PVC报quantities must match正则错误如何修复?
问题诊断与修复方案
问题根因
你遇到的报错是Kubernetes资源量格式校验不通过导致的,具体问题点如下:
- 核心错误:PVC的
spec.resources.requests.storage字段填写的30gi不符合K8s存储容量单位规范,K8s要求二进制容量单位后缀必须为大写,gi属于非法后缀,因此触发报错中提到的正则校验失败。 - 冗余配置:PV属于集群级资源,不支持
metadata.namespace配置,你写的namespace: myapp不会生效,属于无效配置。
具体修复操作
- 调整PVC的存储容量单位写法,将
30gi改为30Gi - (可选优化)删除PV中
metadata.namespace: myapp这一行冗余配置
修改后的完整配置参考:
apiVersion: v1 kind: PersistentVolume metadata: name: myapp-common-pv labels: app.kubernetes.io/name: myapp-common-pv app.kubernetes.io/component: common-pv app.kubernetes.io/part-of: myapp spec: capacity: storage: 30Gi accessModes: - ReadWriteMany nfs: path: /myapp_nfs_share server: <omitted for security purposes> --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: myapp-common-pvc spec: accessModes: - ReadWriteMany storageClassName: "" volumeName: myapp-common-pv resources: requests: storage: 30Gi
修改完成后重新执行kubectl apply -f pv.yaml即可正常创建资源。
内容的提问来源于stack exchange,提问作者simplezarg
相关产品推荐
相关产品推荐

