We are trying to check if the portworx storage class can provision PVC with ReadWriteMany access mode. We are using Google cloud with GKE for the kubernetes engine.
Currently I am able to create PVC with ReadWriteOnce
, however when I tried ReadWriteMany
the pvc goes into Pending
state, and when do a describe on the pvc resource I see error.
failed to provision volume with StorageClass "px-csi-db": rpc error: code = Internal desc = Failed to create volume: exit status 1
Debugging information
PVC resource yaml (taken from Volume Lifecycle Basics - Portworx Documentation)
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: px-check-pvc
spec:
storageClassName: px-csi-db
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
PVC goes to pending
➜ ✗ k get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
px-mysql-pvc Pending px-csi-db 4s
error checked from k describe pvc px-mysql-pvc
kubernetes events
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning ProvisioningFailed 16s persistentvolume-controller Error saving claim: Operation cannot be fulfilled on persistentvolumeclaims "px-mysql-pvc": the object has been modified; please apply your changes to the latest version and try again
Warning ProvisioningFailed 16s persistentvolume-controller Error saving claim: Operation cannot be fulfilled on persistentvolumeclaims "px-mysql-pvc": the object has been modified; please apply your changes to the latest version and try again
Normal ExternalProvisioning 14s persistentvolume-controller Waiting for a volume to be created either by the external provisioner 'pxd.portworx.com' or manually by the system administrator. If volume creation is delayed, please verify that the provisioner is running and correctly registered.
Normal ExternalProvisioning 10s persistentvolume-controller Waiting for a volume to be created either by the external provisioner 'pxd.portworx.com' or manually by the system administrator. If volume creation is delayed, please verify that the provisioner is running and correctly registered.
Normal ExternalProvisioning 3s (x2 over 16s) persistentvolume-controller Waiting for a volume to be created either by the external provisioner 'pxd.portworx.com' or manually by the system administrator. If volume creation is delayed, please verify that the provisioner is running and correctly registered.
Normal Provisioning 1s (x5 over 16s) pxd.portworx.com_px-csi-ext-569d65f8cb-7dsm4_15400128-e1fe-4435-9db4-f1136383f9df External provisioner is provisioning volume for claim "portworx/px-mysql-pvc"
Warning ProvisioningFailed 1s (x5 over 16s) pxd.portworx.com_px-csi-ext-569d65f8cb-7dsm4_15400128-e1fe-4435-9db4-f1136383f9df failed to provision volume with StorageClass "px-csi-db": rpc error: code = Internal desc = Failed to create volume: exit status 1
I am not sure if the above given link is having a bug or something as it is using the storageclass as px-csi-db
. However I have also tried to create the shared4 storageclass and used that as well exact same error as above (Create sharedv4 PVCs - Portworx Documentation).
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: px-sharedv4-pvc
spec:
storageClassName: portworx-rwx-rep2
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
Cluster and environment details
- GKE kubernetes version:
1.28.14-gke.1376000
(this is compatible and supported version as per - Prerequisites for Google Kubernetes Engine - Portworx Documentation. I have ensured the node configurations, and port opened for both TCP and UDP from 100-13000 so there shouldn’t miss in the port provisioning. - All the pods for portworx are in Running nothing in error or anything like that. Also I can provision
ReadWriteOnce
volumes without issues. - Portworx version: 3.2
I am using portworx essential and generated the spec file and commands from Portworx central.
Following the documentation - Install Portworx on Google Kubernetes Engine - Portworx Documentation