Change:
There's a section for ReclaimPolicy, which states that this can be or . It is not clear as to what those states mean, there's NO explanation. I was researching how to expand disk, and one guide says that the must be , but I cannot find reference as to what this means. My expectation was that these would be explained what they mean, rather than this is the only do option.
Page related to issue: /retitle Lack of explanation for options - Retain and Delete /language en
These concepts are well explained in 'concepts/storage/persistent-'. Maybe a pointer or two suffices?
Please refer link here you will find the brief introduction about the retain or delete. I think this link will be helpful to understand.
/assign
/triage accepted

Discussion:
### Reclaim Policy PersistentVolumes that are dynamically created by a StorageClass will have the <del> reclaim policy specified in the `reclaimPolicy` field of the class, which can be </del> <ins> [reclaim policy](/docs/concepts/storage/persistent-volumes/#reclaiming) specified in the `reclaimPolicy` field of the class, which can be </ins> either `Delete` or `Retain`. If no `reclaimPolicy` is specified when a StorageClass object is created, it will default to `Delete`.

### Allow Volume Expansion <del> {{< feature-state for_k8s_version="v1.11" state="beta" >}} </del> PersistentVolumes can be configured to be expandable. This feature when set to `true`, allows the users to resize the volume by editing the corresponding PVC object.

### Volume Binding Mode <del> The `volumeBindingMode` field controls when [volume binding and dynamic provisioning](/docs/concepts/storage/persistent-volumes/#provisioning) should occur. When unset, "Immediate" mode is used by default. </del> <ins> The `volumeBindingMode` field controls when [volume binding and dynamic provisioning](/docs/concepts/storage/persistent-volumes/#provisioning) should occur. When unset, "Immediate" mode is used by default. </ins> The `Immediate` mode indicates that volume binding and dynamic provisioning occurs once the PersistentVolumeClaim is created. For storage

- All of the above - [Local](#local) <del> {{< feature-state state="stable" for_k8s_version="v1.17" >}} </del> [CSI volumes](/docs/concepts/storage/volumes/#csi) are also supported with dynamic provisioning and pre-created PVs, but you'll need to look at the documentation for a specific CSI driver to see its supported topology keys and examples. {{< note >}} If you choose to use `WaitForFirstConsumer`, do not use `nodeName` in the Pod spec <del> to specify node affinity. If `nodeName` is used in this case, the scheduler will be bypassed and PVC will remain in `pending` state. </del> <ins> to specify node affinity. If `nodeName` is used in this case, the scheduler will be bypassed and PVC will remain in `pending` state. </ins> Instead, you can use node selector for hostname in this case as shown below. {{< /note >}}

- `path`: Path that is exported by the NFS server. - `readOnly`: A flag indicating whether the storage will be mounted as read only (default false). <del> Kubernetes doesn't include an internal NFS provisioner. You need to use an external provisioner to create a StorageClass for NFS. </del> <ins> Kubernetes doesn't include an internal NFS provisioner. You need to use an external provisioner to create a StorageClass for NFS. </ins> Here are some examples: - [NFS Ganesha server and external provisioner](https://github.com/kubernetes-sigs/nfs-ganesha-server-and-external-provisioner)

{{< note >}} {{< feature-state state="deprecated" for_k8s_version="v1.11" >}} <del> This internal provisioner of OpenStack is deprecated. Please use [the external cloud provider for OpenStack](https://github.com/kubernetes/cloud-provider-openstack). </del> <ins> This internal provisioner of OpenStack is deprecated. Please use [the external cloud provider for OpenStack](https://github.com/kubernetes/cloud-provider-openstack). </ins> {{< /note >}} ### vSphere

- [CSI provisioner](#vsphere-provisioner-csi): `csi.vsphere.vmware.com` - [vCP provisioner](#vcp-provisioner): `kubernetes.io/vsphere-volume` <del> In-tree provisioners are [deprecated](/blog/2019/12/09/kubernetes-1-17-feature-csi-migration-beta/#why-are-we-migrating-in-tree-plugins-to-csi). For more information on the CSI provisioner, see [Kubernetes vSphere CSI Driver](https://vsphere-csi-driver.sigs.k8s.io/) and [vSphereVolume CSI migration](/docs/concepts/storage/volumes/#vsphere-csi-migration). </del> <ins> In-tree provisioners are [deprecated](/blog/2019/12/09/kubernetes-1-17-feature-csi-migration-beta/#why-are-we-migrating-in-tree-plugins-to-csi). For more information on the CSI provisioner, see [Kubernetes vSphere CSI Driver](https://vsphere-csi-driver.sigs.k8s.io/) and [vSphereVolume CSI migration](/docs/concepts/storage/volumes/#vsphere-csi-migration). </ins> #### CSI Provisioner {#vsphere-provisioner-csi} <del> The vSphere CSI StorageClass provisioner works with Tanzu Kubernetes clusters. For an example, refer to the [vSphere CSI repository](https://github.com/kubernetes-sigs/vsphere-csi-driver/blob/master/example/vanilla-k8s-RWM-filesystem-volumes/example-sc.yaml). </del> <ins> The vSphere CSI StorageClass provisioner works with Tanzu Kubernetes clusters. For an example, refer to the [vSphere CSI repository](https://github.com/kubernetes-sigs/vsphere-csi-driver/blob/master/example/vanilla-k8s-RWM-filesystem-volumes/example-sc.yaml). </ins> #### vCP Provisioner

### Local <del> {{< feature-state for_k8s_version="v1.14" state="stable" >}} </del> ```yaml apiVersion: storage.k8s.io/v1 kind: StorageClass