Azure Disk CSI Driver Operator
Overview
OKD is capable of provisioning persistent volumes (PVs) using the Container Storage Interface (CSI) driver for Microsoft Azure Disk Storage.
Azure Disk CSI Driver Operator is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information about the support scope of Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview/. |
Familiarity with persistent storage and configuring CSI volumes is recommended when working with a CSI Operator and driver.
To create CSI-provisioned PVs that mount to Azure Disk storage assets with this feature is enabled, OKD installs the Azure Disk CSI Driver Operator and the Azure Disk CSI driver by default in the openshift-cluster-csi-drivers
namespace.
The Azure Disk CSI Driver Operator, after being enabled, provides a storage class named
managed-csi
that you can use to create persistent volume claims (PVCs). The Azure Disk 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.The Azure Disk CSI driver enables you to create and mount Azure Disk PVs.
About CSI
Storage vendors have traditionally provided storage drivers as part of Kubernetes. With the implementation of the Container Storage Interface (CSI), third-party providers can instead deliver storage plug-ins using a standard interface without ever having to change the core Kubernetes code.
CSI Operators give OKD users storage options, such as volume snapshots, that are not possible with in-tree volume plug-ins.
OKD defaults to using an in-tree (non-CSI) plug-in to provision Azure Disk storage. In future OKD 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 CSI automatic migration. After full migration, in-tree plug-ins will eventually be removed in later versions of OKD. |
Enabling the Azure CSI Driver Operator
To enable the Azure 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).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:
$ oc get co storage
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:$ oc get pod -n openshift-cluster-csi-drivers
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
Verify that the storage class is installed:
$ oc get storageclass
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
Additional resources