5.6. CSI 自动迁移
通常 OpenShift Container Platform 附带的树内存储驱动程序已弃用,并被对应的 Container Storage Interface(CSI)驱动程序替代。OpenShift Container Platform 为某些支持的树内卷插件提供自动迁移到对应的 CSI 驱动程序。
5.6.1. 概述
使用 in-tree 存储插件置备的卷,且此功能支持将迁移到其对应的容器存储接口(CSI)驱动程序中。此过程不执行任何数据迁移,OpenShift Container Platform 只在内存中转换持久性卷对象。因此,翻译的持久性卷对象不会存储在磁盘上,也不会更改它的内容。
支持以下到 CSI 驱动程序的树内:
in-tree/CSI 驱动程序 | 支持级别 | CSI 自动迁移启用? |
---|---|---|
|
Generally available (GA) |
Yes. For more information, see "Automatic migration of in-tree volumes to CSI". |
|
Technology Preview (TP) |
No. To enable, see "Manually enabling CSI automatic migration". |
CSI 自动迁移应该可以无缝进行。这个功能不会改变如何使用所有现有 API 对象: 例如 PersistentVolume、PersistentVolume
、PersistentVolumeVolumeClaims
和 StorageClasses
。
如果为树内持久性卷(PV)或持久性卷声明(PVC)启用 CSI 自动迁移不会启用任何新的 CSI 驱动程序功能,如快照或扩展,如果原始 in-tree 存储插件不支持它。
5.6.2. 自动将 in-tree 卷迁移到 CSI
OpenShift Container Platform 支持以下树内卷类型自动和无缝地迁移到其 Container Storage Interface(CSI)驱动程序计数器部分:
- Azure Disk
- OpenStack Cinder
这些卷类型的 CSI 迁移被视为正式发布(GA),且无需人工干预。
对于新的 OpenShift Container Platform 4.11 及之后的版本,安装默认存储类是 CSI 存储类。所有使用这个存储类置备的卷都是 CSI 持久性卷(PV)。
对于从 4.10 版本升级到 4.11 及更高版本中的集群,会创建 CSI 存储类,如果在升级前设置了默认存储类,则设置为默认值。在不太可能的情况下,存在相同名称的存储类时,现有的存储类不会改变。任何现有的 in-tree 存储类保留,可能需要某些功能,如卷扩展才能用于现有的树内 PV。虽然引用 in-tree 存储插件的存储类将继续工作,但我们建议将默认存储类切换到 CSI 存储类。
5.6.3. 手动启用 CSI 自动迁移
如果要在开发或临时 OpenShift Container Platform 集群中测试 Container Storage Interface(CSI)迁移,则必须为以下树内卷类型手动启用到 CSI 的树内到 CSI 迁移:
- AWS Elastic Block Storage(EBS)
- Google Compute Engine Persistent Disk(GCE-PD)
- VMware vSphere 磁盘
- Azure File
对于前面的 in-tree 卷插件和 CSI 驱动程序对的 CSI 自动迁移只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
迁移后,默认存储类会保留树内存储类。
在以后的 OpenShift Container Platform 发行版本中,所有存储 in-tree 插件都会默认启用 CSI 自动迁移,因此强烈建议您现在测试并报告任何问题。
启用 CSI 自动迁移排空,然后按顺序重启集群中的所有节点。这可能需要一些时间。
流程
启用功能门(请参阅 Nodes
working with cluster Enabling features using feature gates)。 重要在使用功能门开启技术预览功能后,无法关闭它们。因此,集群升级会被阻止。
以下配置示例为目前处于技术预览(TP)状态的所有 CSI 驱动程序启用 CSI 自动迁移:
apiVersion: config.openshift.io/v1 kind: FeatureGate metadata: name: cluster spec: featureSet: TechPreviewNoUpgrade 1 ...
- 1
- 为 AWS EBS、GCP、Azure File 和 VMware vSphere 启用自动迁移。
您可以通过设置
CustomNoUpgrade
featureSet
和featuregates
为所选 CSI 驱动程序指定 CSI 自动迁移:- CSIMigrationAWS
- CSIMigrationAzureFile
- CSIMigrationGCE
- CSIMigrationvSphere
以下配置示例只启用到 AWS EBS CSI 驱动程序:
apiVersion: config.openshift.io/v1 kind: FeatureGate metadata: name: cluster spec: featureSet: CustomNoUpgrade customNoUpgrade: enabled: - CSIMigrationAWS 1 ...
- 1
- 只为 AWS EBS 启用自动迁移。
其他资源