From 4087c7fbff3831e185b3960f4cb6bbcca7fa3328 Mon Sep 17 00:00:00 2001 From: Lisa Pettyjohn Date: Tue, 30 Mar 2021 15:19:33 -0400 Subject: [PATCH] vSphere CSI (TP) --- _topic_map.yml | 2 + ...sistent-storage-csi-drivers-supported.adoc | 1 + modules/persistent-storage-csi-tp-enable.adoc | 103 ++++++++++++++++++ .../persistent-storage-csi-vsphere.adoc | 40 +++++++ 4 files changed, 146 insertions(+) create mode 100644 modules/persistent-storage-csi-tp-enable.adoc create mode 100644 storage/container_storage_interface/persistent-storage-csi-vsphere.adoc diff --git a/_topic_map.yml b/_topic_map.yml index b0feab0b6d..672b41bbe4 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -1094,6 +1094,8 @@ Topics: File: persistent-storage-csi-manila - Name: Red Hat Virtualization CSI Driver Operator File: persistent-storage-csi-ovirt + - Name: VMware vSphere CSI Driver Operator + File: persistent-storage-csi-vsphere - Name: Expanding persistent volumes File: expanding-persistent-volumes Distros: openshift-enterprise,openshift-origin,openshift-dedicated diff --git a/modules/persistent-storage-csi-drivers-supported.adoc b/modules/persistent-storage-csi-drivers-supported.adoc index f052190c27..6af6a22f28 100644 --- a/modules/persistent-storage-csi-drivers-supported.adoc +++ b/modules/persistent-storage-csi-drivers-supported.adoc @@ -21,6 +21,7 @@ The following table describes the CSI drivers that are installed with {product-t |OpenStack Cinder | ✅ | ✅ | ✅ |OpenStack Manila | ✅ | ✅ | ✅ |Red Hat Virtualization (oVirt) | - | - | - +|VMware vSphere (Tech Preview) | - | - | - |=== [IMPORTANT] diff --git a/modules/persistent-storage-csi-tp-enable.adoc b/modules/persistent-storage-csi-tp-enable.adoc new file mode 100644 index 0000000000..5fbde5f91a --- /dev/null +++ b/modules/persistent-storage-csi-tp-enable.adoc @@ -0,0 +1,103 @@ +// Module included in the following assemblies: +// +// persistent-storage-csi-vsphere.adoc +// persistent-storage-csi-azure.adoc + +ifeval::["{context}" == "persistent-storage-csi-vsphere"] +:vsphere: +endif::[] +ifeval::["{context}" == "persistent-storage-csi-azure"] +:azure: +endif::[] + +[id="csi-tp-enable_{context}"] += Enabling the {FeatureName} CSI Driver Operator +To enable the {FeatureName} Container Storage Interface (CSI) Driver Operator, you must enable feature gates with the `TechPreviewNoUpgrade` feature set. + +.Procedure + +. Enable feature gates with the `TechPreviewNoUpgrade` feature set (see _Nodes_ -> _Enabling features using feature gates_). ++ +[IMPORTANT] +==== +After turning Technology Preview features on by using feature gates, they cannot be turned off and cluster upgrades are prevented. +==== +. Verify the cluster operator storage: ++ +[source,terminal] +---- +$ oc get co storage +---- ++ +[source, terminal] +---- +NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE +storage 4.8.0-0.nightly-2021-04-30-201824 True False False 4h26m +---- ++ +* `AVAILABLE` should be "True". +* `PROGRESSING` should be "False". +* `DEGRADED` should be "False". + +. Verify the status of the pods in the `openshift-cluster-csi-drivers` namespace to ensure that they are running: ++ +[source,terminal] +---- +$ oc get pod -n openshift-cluster-csi-drivers +---- ++ +ifdef::vsphere[] +[source, terminal] +---- +NAME READY STATUS RESTARTS AGE +vmware-vsphere-csi-driver-controller-5646dbbf54-cnsx7 9/9 Running 0 4h29m +vmware-vsphere-csi-driver-node-ch22q 3/3 Running 0 4h37m +vmware-vsphere-csi-driver-node-gfjrb 3/3 Running 0 4h37m +vmware-vsphere-csi-driver-node-ktlmp 3/3 Running 0 4h37m +vmware-vsphere-csi-driver-node-lgksl 3/3 Running 0 4h37m +vmware-vsphere-csi-driver-node-vb4gv 3/3 Running 0 4h37m +vmware-vsphere-csi-driver-operator-7c7fc474c-p544t 1/1 Running 0 4h29m +---- +endif::vsphere[] + +ifdef::azure[] +[source, terminal] +---- +NAME READY STATUS RESTARTS AGE +azure-disk-csi-driver-controller-5949bf45fd-pm4qb 11/11 Running 0 39m +azure-disk-csi-driver-node-2tcxr 3/3 Running 0 53m +azure-disk-csi-driver-node-2xjzm 3/3 Running 0 53m +azure-disk-csi-driver-node-6wrgk 3/3 Running 0 53m +azure-disk-csi-driver-node-frvx2 3/3 Running 0 53m +azure-disk-csi-driver-node-lf5kb 3/3 Running 0 53m +azure-disk-csi-driver-node-mqdhh 3/3 Running 0 53m +azure-disk-csi-driver-operator-7d966fc6c5-x74x5 1/1 Running 0 44m +---- +endif::azure[] + +. Verify that the storage class is installed: ++ +[source,terminal] +---- +$ oc get storageclass +---- ++ +ifdef::vsphere[] +[source,terminal] +---- +NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE +thin (default) kubernetes.io/vsphere-volume Delete Immediate false 5h43m +thin-csi csi.vsphere.vmware.com Delete WaitForFirstConsumer false 4h38m <1> +---- +<1> vSphere storage class +endif::vsphere[] + +ifdef::azure[] +[source,terminal] +---- +NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE +managed-premium (default) kubernetes.io/azure-disk Delete WaitForFirstConsumer true 76m +managed-csi disk.csi.azure.com Delete WaitForFirstConsumer true 51m <1> +---- +<1> Azure storage class +endif::azure[] diff --git a/storage/container_storage_interface/persistent-storage-csi-vsphere.adoc b/storage/container_storage_interface/persistent-storage-csi-vsphere.adoc new file mode 100644 index 0000000000..b4a5f0c674 --- /dev/null +++ b/storage/container_storage_interface/persistent-storage-csi-vsphere.adoc @@ -0,0 +1,40 @@ +[id="persistent-storage-vsphere"] += VMware vSphere CSI Driver Operator +include::modules/common-attributes.adoc[] +:context: persistent-storage-csi-vsphere + +toc::[] + +== Overview + +{product-title} can provision persistent volumes (PVs) using the Container Storage Interface (CSI) VMware vSphere driver for Virtual Machine Disk (VMDK) volumes. + +:FeatureName: vSphere CSI Driver Operator +include::modules/technology-preview.adoc[leveloffset=+1] + +Familiarity with xref:../../storage/understanding-persistent-storage.adoc#understanding-persistent-storage[persistent storage] and xref:../../storage/container_storage_interface/persistent-storage-csi.adoc#persistent-storage-csi[configuring CSI volumes] is recommended when working with a CSI Operator and driver. + +To create CSI-provisioned persistent volumes (PVs) that mount to vSphere storage assets, {product-title}, after this feature is enabled, installs the vSphere CSI Driver Operator and the vSphere CSI driver by default in the `openshift-cluster-csi-drivers` namespace. + +* *vSphere CSI Driver Operator*: After being enabled, the Operator provides a storage class, called `thin-csi`, that you can use to create persistent volumes claims (PVCs). The vSphere CSI Driver Operator supports dynamic volume provisioning by allowing storage volumes to be created on-demand, eliminating the need for cluster administrators to pre-provision storage. + +* *vSphere CSI driver*: The driver enables you to create and mount vSphere PVs. + +[IMPORTANT] +==== +{product-title} defaults to using an in-tree (non-CSI) plug-in to provision vSphere storage. + +In future {product-title} versions, volumes provisioned using existing in-tree plug-ins are planned for migration to their equivalent CSI driver. CSI automatic migration should be seamless. Migration does not change how you use all existing API objects, such as persistent volumes, persistent volume claims, and storage classes. For more information about migration, see xref:../../storage/container_storage_interface/persistent-storage-csi-migration.adoc#persistent-storage-csi-migration[CSI automatic migration]. + +After full migration, in-tree plug-ins will eventually be removed in future versions of {product-title}. +==== + +include::modules/persistent-storage-csi-about.adoc[leveloffset=+1] +.Additional resources +* xref:../../storage/container_storage_interface/persistent-storage-csi.adoc#persistent-storage-csi[Configuring CSI volumes] + +:FeatureName: vSphere +include::modules/persistent-storage-csi-tp-enable.adoc[leveloffset=+1] + +== Additional resources +* xref:../../nodes/clusters/nodes-cluster-enabling-features.adoc#[Enabling features using feature gates]