Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

pod failed to use pvc with standard-rwx storageclass

 

 

As described in google doc I enable the filestore csi driver in my cluster. It created automatically

differents storageclass.

 

kubectl get sc                     
NAME                        PROVISIONER                    RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
enterprise-multishare-rwx   filestore.csi.storage.gke.io   Delete          WaitForFirstConsumer   true                   2d10h
enterprise-rwx              filestore.csi.storage.gke.io   Delete          WaitForFirstConsumer   true                   2d10h
premium-rwo                 pd.csi.storage.gke.io          Delete          WaitForFirstConsumer   true                   59d
premium-rwx                 filestore.csi.storage.gke.io   Delete          WaitForFirstConsumer   true                   2d10h
standard                    kubernetes.io/gce-pd           Delete          Immediate              true                   59d
standard-rwo (default)      pd.csi.storage.gke.io          Delete          WaitForFirstConsumer   true                   59d
standard-rwx                filestore.csi.storage.gke.io   Delete          WaitForFirstConsumer   true                   2d10h
zonal-rwx                   filestore.csi.storage.gke.io   Delete          WaitForFirstConsumer   true                   2d10h

 

I use one of this storageclass: standard-rwx to create a PVC 

 

 

 

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nwapi-uploads
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: standard-rwx
  resources:
    requests:
      storage: 10Gi

 

 

Then I create a pod who need this PVC

I see that a PV is created

 

 

NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                 STORAGECLASS   VOLUMEATTRIBUTESCLASS   REASON   AGE
pvc-a02dcb94-0867-4dc1-aa09-b92108e66a63   1Ti        RWX            Delete           Bound    nwapi/nwapi-uploads   standard-rwx   <unset>                          7h38m

 

 

but the pod is not able to use it I've got this event :

 

 

Events:
  Type     Reason       Age                    From     Message
  ----     ------       ----                   ----     -------
  Warning  FailedMount  92s (x110 over 7h19m)  kubelet  MountVolume.MountDevice failed for volume "pvc-a02dcb94-0867-4dc1-aa09-b92108e66a63" : rpc error: code = DeadlineExceeded desc = context deadline exceeded

 

 

I don't see any in logs that can explain this issue.

Even If I delete the pod and recreate it the result is the same.

Does some one has already use standard-rwx and solve this kind of trouble or have any idea about this topic?

Solved Solved
0 3 446
2 ACCEPTED SOLUTIONS

We found the solution, the storageclass created by enabling the filestoredriver is incomplete it doesn't a mandatory parameter if you don't use the default network.

so on you have to create your own storageclass like this:

allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    components.gke.io/component-name: filestorecsi
    components.gke.io/component-version: 0.12.22
    components.gke.io/layer: addon
  labels:
    addonmanager.kubernetes.io/mode: EnsureExists
    k8s-app: gcp-filestore-csi-driver
  name: standard-rwx-my-storageclass.  #<======= change it 
parameters:
  tier: standard
  network: your-network #<=========== change it for your own network name
provisioner: filestore.csi.storage.gke.io
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

View solution in original post

No the solution was on network parameter that need to be added to the storageclass definition. It works without Cloud Filestore API

View solution in original post

3 REPLIES 3

We found the solution, the storageclass created by enabling the filestoredriver is incomplete it doesn't a mandatory parameter if you don't use the default network.

so on you have to create your own storageclass like this:

allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    components.gke.io/component-name: filestorecsi
    components.gke.io/component-version: 0.12.22
    components.gke.io/layer: addon
  labels:
    addonmanager.kubernetes.io/mode: EnsureExists
    k8s-app: gcp-filestore-csi-driver
  name: standard-rwx-my-storageclass.  #<======= change it 
parameters:
  tier: standard
  network: your-network #<=========== change it for your own network name
provisioner: filestore.csi.storage.gke.io
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

U need to enable the filestore API "Cloud Filestore API".

"

No the solution was on network parameter that need to be added to the storageclass definition. It works without Cloud Filestore API

Top Labels in this Space