vSphere CSI Driver - v2.0.1 release
New Feature
- There is no new feature released in v2.0.1. v2.0.1 is the patch release to fix some critical issues observed in v2.0.0 release.
Notable Changes
- Fixed backward compatibility issue with vSphere 67u3 release. #409
- Fixed race between detach volume and delete volume caused by bug in the
external-provisioner
. #438
Deployment files
Kubernetes Release
- Minimum: 1.17
- Maximum: 1.19
Supported sidecar containers versions
- csi-provisioner - v2.0.0
- csi-attacher - v2.0.0
- csi-resizer - v0.3.0
- livenessprob - v1.1.0
- csi-node-driver-registrar - v1.2.0
Known Issues
vSphere CSI Driver issues
- When the static persistent volume is re-created with the same PV name, volume is not getting registered as a container volume with vSphere.
- Impact: attach/delete can not be performed on the such Persistent Volume.
- Workaround: wait for 1 hour before re-creating static persistent volume using the same name.
- Metadata syncer container deletes the volume physically from the datastore when Persistent Volumes with
Bound
status and reclaim policy Delete
is deleted by the user when StorageObjectInUseProtection
is disabled on Kubernetes Cluster.
- Impact: Persistent Volumes Claim goes in the lost status. Volume can not be recovered.
- Workaround: Do not disable
StorageObjectInUseProtection
and attempt to delete Persistent Volume directly without deleting PVC.
- deployment yaml uses
hostPath
volume in the CSI driver deployment for unix domain socket path.
- Impact: when the controller Pod does not have access to the file system on the node VM, driver fails to create socket file and thus does not come up.
- Workaround: use
emptydir
volume instead of hostPath
volume.
- Volume expansion might fail when it is called with pod creation simultaneously.
- Impact: Users can resize the PVC and create a pod using that PVC simultaneously. In this case, pod creation might be completed first using the PVC with original size. Volume expansion will fail because online resize is not supported in vSphere 7.0 Update1.
- Workaround: Wait for the PVC to reach FileVolumeResizePending condition before attaching a pod to it.
- Deleting PV before deleting PVC, leaves orphan volume on the datastore.
- Impact: Orphan volumes remain on the datastore, and admin needs to delete those volumes manually using
govc
command.
- Upstream issue is tracked at: https://github.com/kubernetes-csi/external-provisioner/issues/546
- Workaround:
- No workaround. User should not attempt to delete PV which is bound to PVC. User should only delete a PV if they know that the underlying volume in the storage system is gone.
- If user has accidentally left orphan volumes on the datastore by not following the guideline, and if user has captured the volume handles or First Class Disk IDs of deleted PVs, storage admin can help delete those volumes using
govc disk.rm <volume-handle/FCD ID>
command.
- When multiple PVCs and Pods with the same name present on the Cluster, and for any reason, Volume gets de-registered or lost from vCenter CNS Database, Syncer does not re-register volume back.
- Impact: Volume will not re-appear on the CNS UI. If volume needs to be detached and attached to newer node, it will not happen.
- Workaround:
- This issue is fixed in v2.1.0 release. Please consider upgrading driver to v2.1.0
- vSAN file share volumes (ReadWriteMany/ ReadOnlyMany vSphere CSI Volumes) become inaccessible after vSphere CSI driver Node DaemonSet Pod restarts.
- Impact: Pod can not write/read data on vSAN file share volumes
- Workaround: Remount vSAN file services volumes used by the application pods at the same location from the Node VM Guest OS directly. Detailed steps are available here.
user
and ca-file
change in the vsphere-config-secret is not honored until vSphere CSI Controller Pod restarts.
- Impact: Volume lifecycle operations fail until the controller pod restarts.
- Workaround: Restart
vsphere-csi-controller
deployment Pod.
Kubernetes issues
- Filesystem resize is skipped if the original PVC is deleted when FilesystemResizePending condition is still on the PVC, but PV and its associated volume on the storage system are not deleted due to the Retain policy.
- Issue: https://github.com/kubernetes/kubernetes/issues/88683
- Impact: User may create a new PVC to statically bind to the undeleted PV. In this case, the volume on the storage system is resized but the filesystem is not resized accordingly. User may try to write to the volume whose filesystem is out of capacity.
- Workaround: User can log into the container to manually resize the filesystem.
- Volume associated with a Statefulset cannot be resized
- Recover from volume expansion failure.
vSphere issues
- CNS file volume has a limitation of 8K for metadata.
- Impact: It is quite possible that we will not be able to push all the metadata to CNS file share as we need support a max of 64 clients per file volume.
- Workaround: None. This is vSphere limitation.