You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add details about secrets for ControllerModifyVolume
The secret references for ControllerModifyVolume have been added to the
documentation of the StorageClass. There is also an explanation that the
external-provisioner adds annotations on the PV so that the
external-resizer can use them.
Cluster admins can populate the secret fields for the operations listed above with data from Kubernetes `Secret` objects by specifying these keys in the `StorageClass` object.
28
33
29
34
## Examples
@@ -254,3 +259,40 @@ The values of these parameters may be "templates". The `external-provisioner` wi
254
259
* Replaced with name of the `PersistentVolume` object being provisioned.
255
260
* `${pvc.namespace}`
256
261
* Replaced with namespace of the `PersistentVolumeClaim` object that triggered provisioning.
The value of both parameters, together, refer to the name and namespace of the `Secret` object in the Kubernetes API.
271
+
272
+
If specified, the CSI `external-provisioner` adds the following annotations to the `PersistentVolume` object to refer to this secret once provisioning is successful:
The `external-resizer` (v2.1.0+), attempts to fetch the secret referenced by the annotations on the `PersistentVolume`, if specified, before starting a volume resize (expand) operation. In case the `PersistentVolume` does not have the annotations, the secret referenced by the `CSIPersistentVolumeSource.ControllerExpandSecretRef` field is used.
278
+
279
+
If no such secret exists in the Kubernetes API, or the `external-resizer` is unable to fetch it, the volume modification operation fails.
280
+
281
+
If the secret is retrieved successfully, the `external-resizer` passes it to the CSI driver in the `ControllerModifyVolumeRequest.secrets` field.
282
+
283
+
The values of these parameters may be "templates". The `external-provisioner` will automatically resolve templates at volume provision time, as detailed below:
A `VolumeAttributesClass` is a cluster-scoped resource that can be used to control and change the settings of a `PersistentVolume`.
@@ -22,4 +23,4 @@ To take advantage of `VolumeAttibutesClass` feature:
22
23
* The Kubernetes administrator must create the `VolumeAttributesClass` with the relevant `parameters` for the `driverName`
23
24
* The user can then patch the `PersistentVolumeClaim` under `spec.volumeAttributesClassName` to select or update the settings he needs for the volume.
24
25
25
-
> For more information about how to use the feature, visit the [Kubernetes blog](https://kubernetes.io/blog/2024/08/15/kubernetes-1-31-volume-attributes-class/) page.
26
+
> For more information about how to use the feature, visit the [Kubernetes documentation](https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/) page.
0 commit comments