Home > Enterprise >  Kubernetes StorageClassName: quantities must match the regular expression
Kubernetes StorageClassName: quantities must match the regular expression

Time:09-28

I have the following pv.yaml Kubernetes/Kustomization file:

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

When I run this I get:

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|...

Above, <omitted for security purposes> is a valid IP address, I just removed it for...security purposes.

I'm setting storageClassName: "" due to this article explaining why its necessary.

Can anyone spot what's wrong with my pv.yaml file? And what I need to do (specifically!) to fix it?

CodePudding user response:

quantities must match the regular expression '^([ -]?[0-9.] )([eEinumkKMGTP][- ]?[0-9])$', error found in #10 byte of ...|ge":"30gi"}}

Change

storage: 30gi

to

storage: 30Gi

The Gi part must follow the predefined units.

  • Related