Skip to content

Commit 4457625

Browse files
authored
Merge pull request #30533 from humblec/rbd-mig-doc-1.23
Add RBD CSI migration section to the storage volumes guide
2 parents 3aa8d6b + 280229b commit 4457625

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
@@ -830,11 +830,11 @@ GitHub project has [instructions](https://github.com/quobyte/quobyte-csi#quobyte
830830
### rbd
831831

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

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

852+
#### RBD CSI migration {#rbd-csi-migration}
853+
854+
{{< feature-state for_k8s_version="v1.23" state="alpha" >}}
855+
856+
The `CSIMigration` feature for `RBD`, when enabled, redirects all plugin
857+
operations from the existing in-tree plugin to the `rbd.csi.ceph.com` {{<
858+
glossary_tooltip text="CSI" term_id="csi" >}} driver. In order to use this
859+
feature, the
860+
[Ceph CSI driver](https://github.com/ceph/ceph-csi)
861+
must be installed on the cluster and the `CSIMigration` and `CSIMigrationRBD`
862+
[feature gates](/docs/reference/command-line-tools-reference/feature-gates/)
863+
must be enabled.
864+
865+
{{< note >}}
866+
867+
As a Kubernetes cluster operator that administers storage, here are the
868+
prerequisites that you must complete before you attempt migration to the
869+
RBD CSI driver:
870+
871+
* You must install the Ceph CSI driver (`rbd.csi.ceph.com`), v3.5.0 or above,
872+
into your Kubernetes cluster.
873+
* considering the `clusterID` field is a required parameter for CSI driver for
874+
its operations, but in-tree StorageClass has `monitors` field as a required
875+
parameter, a Kubernetes storage admin has to create a clusterID based on the
876+
monitors hash ( ex:`#echo -n
877+
'<monitors_string>' | md5sum`) in the CSI config map and keep the monitors
878+
under this clusterID configuration.
879+
* Also, if the value of `adminId` in the in-tree Storageclass is different from
880+
`admin`, the `adminSecretName` mentioned in the in-tree Storageclass has to be
881+
patched with the base64 value of the `adminId` parameter value, otherwise this
882+
step can be skipped. {{< /note >}}
883+
852884
### secret
853885

854886
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
@@ -84,6 +84,7 @@ different Kubernetes components.
8484
| `CSIMigrationOpenStack` | `false` | Alpha | 1.14 | 1.17 |
8585
| `CSIMigrationOpenStack` | `true` | Beta | 1.18 | |
8686
| `CSIMigrationvSphere` | `false` | Beta | 1.19 | |
87+
| `CSIMigrationRBD` | `false` | Alpha | 1.23 | |
8788
| `CSIStorageCapacity` | `false` | Alpha | 1.19 | 1.20 |
8889
| `CSIStorageCapacity` | `true` | Beta | 1.21 | |
8990
| `CSIVolumeHealth` | `false` | Alpha | 1.21 | |
@@ -630,6 +631,13 @@ Each feature gate is designed for enabling/disabling a specific feature:
630631
operations from the GCE-PD in-tree plugin to PD CSI plugin. Supports falling
631632
back to in-tree GCE plugin if a node does not have PD CSI plugin installed and
632633
configured. Requires CSIMigration feature flag enabled.
634+
- `CSIMigrationRBD`: Enables shims and translation logic to route volume
635+
operations from the RBD in-tree plugin to Ceph RBD CSI plugin. Requires
636+
CSIMigration and CSIMigrationRBD feature flags enabled and Ceph CSI plugin
637+
installed and configured in the cluster. This flag has been deprecated in
638+
favor of the
639+
`InTreePluginRBDUnregister` feature flag which prevents the registration of
640+
in-tree RBD plugin.
633641
- `CSIMigrationGCEComplete`: Stops registering the GCE-PD in-tree plugin in
634642
kubelet and volume controllers and enables shims and translation logic to
635643
route volume operations from the GCE-PD in-tree plugin to PD CSI plugin.

0 commit comments

Comments
 (0)