Kubernetes StorageClassName:数量必须与正则表达式匹配

sim*_*arg 3 kubernetes persistent-volumes persistent-volume-claims kustomize

我有以下pv.yamlKubernetes/Kustomization 文件:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: myapp-common-pv
  namespace: myapp
  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
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到:

persistentvolume/myapp-common-pv unchanged
Error from server (BadRequest): error when creating "/Users/myuser/workspace/myapp/k8s/pv": PersistentVolumeClaim in version "v1" cannot be handled as a PersistentVolumeClaim: v1.PersistentVolumeClaim.Spec: v1.PersistentVolumeClaimSpec.StorageClassName: Resources: v1.ResourceRequirements.Requests: unmarshalerDecoder: quantities must match the regular expression '^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$', error found in #10 byte of ...|ge":"30gi"}},"storag|..., bigger context ...|teMany"],"resources":{"requests":{"storage":"30gi"}},"storageClassName":"","volumeName":"myapp-common|...
Run Code Online (Sandbox Code Playgroud)

上面<omitted for security purposes> 一个有效的 IP 地址,我只是出于安全目的将其删除。

我之所以设置是storageClassName: ""因为这篇文章解释了为什么它是必要的

谁能发现我的pv.yaml文件有什么问题吗?我需要做什么(具体来说!)来修复它?

Jon*_*nas 7

数量必须匹配正则表达式 '^([+-]?[0-9.]+)([eEinumkKMGTP] [-+]?[0-9] )$',在 #10 字节中发现错误... |ge":"30gi"}}

改变

storage: 30gi
Run Code Online (Sandbox Code Playgroud)

storage: 30Gi
Run Code Online (Sandbox Code Playgroud)

Gi零件必须遵循预定义的单位