// Module included in the following assemblies
//
// * storage/dynamic-provisioning.adoc

:_mod-docs-content-type: REFERENCE
[id="available-plug-ins_{context}"]
= Available dynamic provisioning plugins

[role="_abstract"]
Provisioner plugins automatically create storage resources on-demand by connecting to your cloud provider's API. This lets you dynamically provision persistent volumes (PVs) without manual intervention, adapting to your cluster's storage needs as they arise.

[IMPORTANT]
====
Any chosen provisioner plugin also requires configuration for the relevant cloud, host, or third-party provider as in the relevant documentation.
====

[options="header",cols="1,1,1"]
|===

|Storage type
|Provisioner plugin name
|Notes

ifndef::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
|{rh-openstack-first} Cinder
|`kubernetes.io/cinder`
|

|{rh-openstack} Manila Container Storage Interface (CSI)
|`manila.csi.openstack.org`
|After being installed, the OpenStack Manila CSI Driver Operator and ManilaDriver automatically create the required storage classes for all available Manila share types needed for dynamic provisioning.
endif::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]

|Amazon Elastic Block Store (Amazon EBS)
|`ebs.csi.aws.com`
|For dynamic provisioning when using multiple clusters in different zones, tag each node with `Key=kubernetes.io/cluster/<cluster_name>,Value=<cluster_id>` where `<cluster_name>` and `<cluster_id>` are unique per cluster.

ifndef::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
|Azure Disk
|`kubernetes.io/azure-disk`
|

|Azure File
|`kubernetes.io/azure-file`
|The `persistent-volume-binder` service account requires permissions to create
and get secrets to store the Azure storage account and keys.
endif::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]

ifndef::openshift-rosa,openshift-rosa-hcp[]
|GCE Persistent Disk (gcePD)
|`kubernetes.io/gce-pd`
|In multi-zone configurations, it is advisable to run one {product-title} cluster per GCE project to avoid persistent volumes (PVs) from being created in zones where no node exists in the current cluster.

|{ibm-power-server-name} Block
|`powervs.csi.ibm.com`
|After installation, the {ibm-power-server-name} Block CSI Driver Operator and {ibm-power-server-name} Block CSI Driver automatically create the required storage classes for dynamic provisioning.
endif::openshift-rosa,openshift-rosa-hcp[]

//|GlusterFS
//|`kubernetes.io/glusterfs`
//|

//|Ceph RBD
//|`kubernetes.io/rbd`
//|

//|Trident from NetApp
//|`netapp.io/trident`
//|Storage orchestrator for NetApp ONTAP, SolidFire, and E-Series storage.

ifndef::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
|VMware vSphere
|`kubernetes.io/vsphere-volume`
|
endif::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]

//|HPE Nimble Storage
//|`hpe.com/nimble`
//|Dynamic provisioning of HPE Nimble Storage resources using the
//HPE Nimble Kube Storage Controller.

|===
