5.7. Azure Disk CSI Driver Operator
5.7.1. 概述
OpenShift Container Platform 可以使用 Microsoft Azure Disk Storage 的 Container Storage Interface(CSI)驱动程序置备持久性卷(PV)。
Azure Disk CSI Driver Operator 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的详情,请参考 https://access.redhat.com/support/offerings/techpreview/。
在使用 CSI Operator 和驱动程序时,建议先熟悉 持久性存储和配置 CSI 卷。
要使用此功能创建挂载到 Azure Disk 存储资产中的 CSI 置备 PV,OpenShift Container Platform 在 openshift-cluster-csi-drivers
命名空间中默认安装 Azure Disk CSI Driver Operator 和 Azure Disk CSI 驱动程序。
-
启用 Azure Disk CSI Driver Operator 后,提供了一个名为
managed-csi
的存储类,您可以使用它来创建持久性卷声明(PVC)。Azure Disk CSI Driver Operator 支持动态卷置备,方法是允许按需创建存储卷,使集群管理员无需预置备存储。 - Azure Disk CSI 驱动程序 允许您创建并挂载 Azure Disk PV。
5.7.2. 关于 CSI
在过去,存储厂商一般会把存储驱动作为 Kubernetes 的一个部分提供。随着容器存储接口 (CSI) 的实现,第三方供应商可以使用标准接口来提供存储插件,而无需更改核心 Kubernetes 代码。
CSI Operators 为 OpenShift Container Platform 用户提供了存储选项,如卷快照,它无法通过 in-tree 卷插件实现。
OpenShift Container Platform 默认使用 in-tree(非 CSI)插件来置备 Azure Disk 存储。
在以后的 OpenShift Container Platform 版本中,计划使用现有树内插件置备的卷迁移到对应的 CSI 驱动程序。CSI 自动迁移应该可以无缝进行。迁移不会改变您使用所有现有 API 对象的方式,如持久性卷、持久性卷声明和存储类。有关迁移的更多信息,请参阅 CSI 自动迁移。
完全迁移后,后续版本的 OpenShift Container Platform 中将最终删除树内插件。
5.7.3. 启用 Azure CSI Driver Operator
要启用 Azure Container Storage Interface(CSI)Driver Operator,您必须使用 TechPreviewNoUpgrade
功能集启用功能门。
流程
通过
TechPreviewNoUpgrade
功能集启用功能门(请参阅 NodesEnabling features using feature gates)。 重要在使用功能门(feature gate)启用技术预览功能后,无法关闭这些技术预览功能,并会防止集群升级。
验证集群操作器存储:
$ 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
应该为 "True"。 -
PROGRESSING
应该为 "False"。 -
DEGRADED
应该为 "False"。
-
验证
openshift-cluster-csi-drivers
命名空间中的 pod 状态,以确保它们正在运行:$ 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
验证是否安装了存储类:
$ 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 存储类