$ oc get storageclass
OpenShift Container Platform 能够使用 OpenStack Cinder 的容器存储接口 (CSI) 驱动程序来配置持久卷 (PV)。
为了创建挂载到 OpenStack Cinder 存储资源的 CSI 配置的 PV,OpenShift Container Platform 会在openshift-cluster-csi-drivers
命名空间中安装 OpenStack Cinder CSI 驱动程序操作符和 OpenStack Cinder CSI 驱动程序。
OpenStack Cinder CSI 驱动程序操作符提供了一个 CSI 存储类,您可以使用它来创建 PVC。如果需要,您可以禁用此默认存储类(请参阅管理默认存储类)。
OpenStack Cinder CSI 驱动程序使您可以创建和挂载 OpenStack Cinder PV。
OpenShift Container Platform 为 Cinder 内置卷插件提供自动迁移到其等效的 CSI 驱动程序。更多信息,请参阅CSI 自动迁移。 |
存储供应商传统上将存储驱动程序作为 Kubernetes 的一部分提供。通过容器存储接口 (CSI) 的实现,第三方提供商可以使用标准接口交付存储插件,而无需更改核心 Kubernetes 代码。
CSI 操作符为 OpenShift Container Platform 用户提供了内置卷插件无法实现的存储选项,例如卷快照。
OpenShift Container Platform 默认使用 CSI 插件来配置 Cinder 存储。 |
OpenStack Cinder CSI 驱动程序使用cinder.csi.openstack.org
参数键来支持动态配置。
为了在 OpenShift Container Platform 中启用 OpenStack Cinder CSI 配置,建议您使用standard-csi
覆盖默认的内置存储类。或者,您可以创建持久卷声明 (PVC) 并将存储类指定为“standard-csi”。
在 OpenShift Container Platform 中,默认存储类引用的是内置的 Cinder 驱动程序。但是,如果启用了 CSI 自动迁移,则使用默认存储类创建的卷实际上使用的是 CSI 驱动程序。
请按照以下步骤应用 `standard-csi` 存储类,以覆盖默认的内置存储类。
列出存储类
$ oc get storageclass
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
standard(default) cinder.csi.openstack.org Delete WaitForFirstConsumer true 46h
standard-csi kubernetes.io/cinder Delete WaitForFirstConsumer true 46h
将默认存储类的注释 `storageclass.kubernetes.io/is-default-class` 的值更改为 `false`,如下例所示
$ oc patch storageclass standard -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'
通过添加或修改注释为 `storageclass.kubernetes.io/is-default-class=true`,将另一个存储类设置为默认存储类。
$ oc patch storageclass standard-csi -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
验证 PVC 现在默认引用的是 CSI 存储类
$ oc get storageclass
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
standard kubernetes.io/cinder Delete WaitForFirstConsumer true 46h
standard-csi(default) cinder.csi.openstack.org Delete WaitForFirstConsumer true 46h
可选:您可以定义一个新的 PVC,而无需指定存储类
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: cinder-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
未指定特定存储类的 PVC 将使用默认存储类自动进行配置。
可选:新文件配置完成后,在您的集群中创建它
$ oc create -f cinder-claim.yaml