This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.7.3. 使 OpenStack Cinder CSI 成为默认存储类
在 OpenShift Container Platform 中,默认存储类引用树内 Cinder 驱动程序。默认情况下,存储类将在 OpenShift Container Platform 以后的更新中引用 OpenStack Cinder CSI。目前计划使用现有 in-tree 存储类置备的卷将其迁移到 OpenStack Cinder CSI 存储类。
OpenStack Cinder CSI 驱动程序使用 cinder.csi.openstack.org
参数键来支持动态置备。
要在 OpenShift Container Platform 中启用 OpenStack Cinder CSI 置备,建议您使用 standard-csi
覆盖默认的树内存储类。另外,您可以创建持久性卷声明(PVC),并将存储类指定为 "standard-csi"。
流程
使用以下步骤通过覆盖默认的树内存储类来应用 standard-csi
存储类。
列出存储类:
oc get storageclass
$ oc get storageclass
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于默认存储类,将注解
storageclass.kubernetes.io/is-default-class
的值改为false
,如下例所示:oc patch storageclass standard -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'
$ oc patch storageclass standard -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过添加或修改注解
storageclass.kubernetes.io/is-default-class=true 来使另一个存储类作为默认设置
。oc patch storageclass standard-csi -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
$ oc patch storageclass standard-csi -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 PVC 现在默认引用 CSI 存储类:
oc get storageclass
$ oc get storageclass
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 您可以定义一个新的 PVC 而无需指定存储类:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 没有指定特定存储类的 PVC 会使用默认存储类自动置备。
可选: 配置了新文件后,在集群中创建该文件:
oc create -f cinder-claim.yaml
$ oc create -f cinder-claim.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow