Skip to content

Commit 280229b

Browse files
committed
Add RBD CSI migration section to the storage volumes guide
Kubernetes adds the RBD CSI migration functionality via CSI migration translation lib. Ref# kubernetes/kubernetes#95361 This commit add the migration details to volumes.md and feature-gates.md Signed-off-by: Humble Chirammal <[email protected]>
1 parent c688bcd commit 280229b

File tree

2 files changed

+45
-5
lines changed

2 files changed

+45
-5
lines changed

content/en/docs/concepts/storage/volumes.md

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -956,11 +956,11 @@ GitHub project has [instructions](https://github.com/quobyte/quobyte-csi#quobyte
956956
### rbd
957957

958958
An `rbd` volume allows a
959-
[Rados Block Device](https://docs.ceph.com/en/latest/rbd/) (RBD) volume to mount into your
960-
Pod. Unlike `emptyDir`, which is erased when a pod is removed, the contents of
961-
an `rbd` volume are preserved and the volume is unmounted. This
962-
means that a RBD volume can be pre-populated with data, and that data can
963-
be shared between pods.
959+
[Rados Block Device](https://docs.ceph.com/en/latest/rbd/) (RBD) volume to mount
960+
into your Pod. Unlike `emptyDir`, which is erased when a pod is removed, the
961+
contents of an `rbd` volume are preserved and the volume is unmounted. This
962+
means that a RBD volume can be pre-populated with data, and that data can be
963+
shared between pods.
964964

965965
{{< note >}}
966966
You must have a Ceph installation running before you can use RBD.
@@ -975,6 +975,38 @@ Simultaneous writers are not allowed.
975975
See the [RBD example](https://github.com/kubernetes/examples/tree/master/volumes/rbd)
976976
for more details.
977977

978+
#### RBD CSI migration {#rbd-csi-migration}
979+
980+
{{< feature-state for_k8s_version="v1.23" state="alpha" >}}
981+
982+
The `CSIMigration` feature for `RBD`, when enabled, redirects all plugin
983+
operations from the existing in-tree plugin to the `rbd.csi.ceph.com` {{<
984+
glossary_tooltip text="CSI" term_id="csi" >}} driver. In order to use this
985+
feature, the
986+
[Ceph CSI driver](https://github.com/ceph/ceph-csi)
987+
must be installed on the cluster and the `CSIMigration` and `CSIMigrationRBD`
988+
[feature gates](/docs/reference/command-line-tools-reference/feature-gates/)
989+
must be enabled.
990+
991+
{{< note >}}
992+
993+
As a Kubernetes cluster operator that administers storage, here are the
994+
prerequisites that you must complete before you attempt migration to the
995+
RBD CSI driver:
996+
997+
* You must install the Ceph CSI driver (`rbd.csi.ceph.com`), v3.5.0 or above,
998+
into your Kubernetes cluster.
999+
* considering the `clusterID` field is a required parameter for CSI driver for
1000+
its operations, but in-tree StorageClass has `monitors` field as a required
1001+
parameter, a Kubernetes storage admin has to create a clusterID based on the
1002+
monitors hash ( ex:`#echo -n
1003+
'<monitors_string>' | md5sum`) in the CSI config map and keep the monitors
1004+
under this clusterID configuration.
1005+
* Also, if the value of `adminId` in the in-tree Storageclass is different from
1006+
`admin`, the `adminSecretName` mentioned in the in-tree Storageclass has to be
1007+
patched with the base64 value of the `adminId` parameter value, otherwise this
1008+
step can be skipped. {{< /note >}}
1009+
9781010
### secret
9791011

9801012
A `secret` volume is used to pass sensitive information, such as passwords, to

content/en/docs/reference/command-line-tools-reference/feature-gates.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ different Kubernetes components.
8181
| `CSIMigrationOpenStack` | `false` | Alpha | 1.14 | 1.17 |
8282
| `CSIMigrationOpenStack` | `true` | Beta | 1.18 | |
8383
| `CSIMigrationvSphere` | `false` | Beta | 1.19 | |
84+
| `CSIMigrationRBD` | `false` | Alpha | 1.23 | |
8485
| `CSIStorageCapacity` | `false` | Alpha | 1.19 | 1.20 |
8586
| `CSIStorageCapacity` | `true` | Beta | 1.21 | |
8687
| `CSIVolumeHealth` | `false` | Alpha | 1.21 | |
@@ -622,6 +623,13 @@ Each feature gate is designed for enabling/disabling a specific feature:
622623
operations from the GCE-PD in-tree plugin to PD CSI plugin. Supports falling
623624
back to in-tree GCE plugin if a node does not have PD CSI plugin installed and
624625
configured. Requires CSIMigration feature flag enabled.
626+
- `CSIMigrationRBD`: Enables shims and translation logic to route volume
627+
operations from the RBD in-tree plugin to Ceph RBD CSI plugin. Requires
628+
CSIMigration and CSIMigrationRBD feature flags enabled and Ceph CSI plugin
629+
installed and configured in the cluster. This flag has been deprecated in
630+
favor of the
631+
`InTreePluginRBDUnregister` feature flag which prevents the registration of
632+
in-tree RBD plugin.
625633
- `CSIMigrationGCEComplete`: Stops registering the GCE-PD in-tree plugin in
626634
kubelet and volume controllers and enables shims and translation logic to
627635
route volume operations from the GCE-PD in-tree plugin to PD CSI plugin.

0 commit comments

Comments
 (0)