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. 要启用,请参阅"手动启用 CSI 自动迁移"。 另外,对于 vSphere,请查看以下信息:
|
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
- Amazon Web Services(AWS)Elastic Block Storage(EBS)
- Google Compute Engine Persistent Disk (GCP PD)
这些卷类型的 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 迁移:
- 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
- 为 Azure File 和 VMware vSphere 启用自动迁移。
您可以通过设置
CustomNoUpgrade
featureSet
和featuregates
为所选 CSI 驱动程序指定 CSI 自动迁移:- CSIMigrationAzureFile
- CSIMigrationvSphere
以下配置示例只启用到 vSphere CSI 驱动程序:
apiVersion: config.openshift.io/v1 kind: FeatureGate metadata: name: cluster spec: featureSet: CustomNoUpgrade customNoUpgrade: enabled: - CSIMigrationvSphere 1 ...
- 1
- 仅为 vSphere 启用自动迁移。
其他资源
5.6.4. 使用 vSphere in-tree PV 从 OpenShift Container Platform 4.12 更新至 4.13
如果您使用 vSphere in-tree 持久性卷(PV),并希望从 OpenShift Container Platform 4.12 更新至 4.13,将 vSphere vCenter 和 ESXI 主机更新至 7.0 Update 3L 或 8.0 Update 2,否则 OpenShift Container Platform 升级会被阻断。更新 vSphere 后,只有在您选择使用时,才会发生 OpenShift Container Platform 更新并对 vSphere 自动进行 Container Storage Interface (CSI) 迁移。
或者,如果您不想更新 vSphere,您可以运行以下命令来执行 OpenShift Container Platform 更新,以执行管理员确认:
oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-4.12-kube-126-vsphere-migration-in-4.14":"true"}}' --type=merge
对于从 OpenShift Container Platform 4.12 升级到 4.13,通常可以安全地提供请求的管理员确认,因为 CSI 迁移还没有为将集群从 4.12 升级到 4.13。但是,红帽建议您开始计划将 vSphere 环境更新到 4.14,以便所有 in-tree 卷都可以由 CSI 驱动程序无缝管理。
如果您没有升级到 OpenShift Container Platform 4.13.10 或更高版本,且不 更新 vSphere,然后选择迁移(请参阅附加资源下 手动启用 CSI 自动迁移 ),则可能会出现已知问题。在选择迁移前,请仔细阅读这篇知识库文章。
其他资源
5.6.5. 使用 vSphere in-tree PV 从 OpenShift Container Platform 4.12 更新至 4.14
如果您使用 vSphere in-tree 持久性卷 (PV),并希望从 OpenShift Container Platform 4.12 更新至 4.14,将 vSphere vCenter 和 ESXI 主机更新至 7.0 Update 3L 或 8.0 Update 2,否则 OpenShift Container Platform 更新会被阻断。更新 vSphere 后,OpenShift Container Platform 更新可能会默认自动进行 vSphere 的 Container Storage Interface (CSI)迁移。
另外,如果您不想更新 vSphere,您可以通过运行以下两个命令来执行 OpenShift Container Platform 更新来执行管理员确认:
oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-4.12-kube-126-vsphere-migration-in-4.14":"true"}}' --type=merge
oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-4.13-kube-127-vsphere-migration-in-4.14":"true"}}' --type=merge
如果您在没有更新 vSphere 的情况下升级到 OpenShift Container Platform 4.14,则因为 OpenShift Container Platform 4.14 中默认启用 CSI 迁移而导致已知问题。在更新之前,请仔细阅读此知识库文章。
从 OpenShift Container Platform 4.12 更新至 4.14 是一个延长更新支持 (EUS) 到延长更新支持(EUS)的更新。要了解这种类型的更新以及如何执行它,请查看以下 附加资源部分中的 EUS 到 EUS 更新链接。
其他资源