5.6. CSI 自动迁移


通常 OpenShift Container Platform 附带的树内存储驱动程序已弃用,并被对应的 Container Storage Interface(CSI)驱动程序替代。OpenShift Container Platform 为某些支持的树内卷插件提供自动迁移到对应的 CSI 驱动程序。

5.6.1. 概述

使用 in-tree 存储插件置备的卷,且此功能支持将迁移到其对应的容器存储接口(CSI)驱动程序中。此过程不执行任何数据迁移,OpenShift Container Platform 只在内存中转换持久性卷对象。因此,翻译的持久性卷对象不会存储在磁盘上,也不会更改它的内容。

支持以下到 CSI 驱动程序的树内:

表 5.2. CSI 自动迁移功能支持的树内/CSI 驱动程序
in-tree/CSI 驱动程序支持级别CSI 自动迁移启用?
  • Azure Disk
  • OpenStack Cinder
  • Amazon Web Services(AWS)Elastic Block Storage(EBS)
  • Google Compute Engine Persistent Disk (GCP PD)

Generally available (GA)

 Yes. For more information, see Automatic migration of in-tree volumes to CSI.

  • Azure File
  • VMware vSphere

Technology Preview (TP)

No. 要启用,请参阅"手动启用 CSI 自动迁移"。

另外,对于 vSphere,请查看以下信息:

  • 使用 vSphere in-tree PV 从 OpenShift Container Platform 4.12 更新至 4.13
  • 使用 vSphere in-tree PV 从 OpenShift Container Platform 4.12 更新至 4.14

CSI 自动迁移应该可以无缝进行。这个功能不会改变如何使用所有现有 API 对象: 例如 PersistentVolume、PersistentVolume、PersistentVolumeVolumeClaimsStorageClasses

如果为树内持久性卷(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 featureSetfeaturegates 为所选 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 更新链接。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.