第 2 章 Migration Toolkit for Containers 发行注记

MTC(Migration Toolkit for Containers)可让您按照命名空间将有状态应用程序工作负载在不同 OpenShift Container Platform 集群间进行迁移。

您可以从 OpenShift Container Platform 3.7、3.9、3.10 或 3.11 迁移到 4.8,以及在 OpenShift Container Platform 4 集群间进行迁移。

MTC 提供了一个基于 Kubernetes 自定义资源的 web 控制台和 API,可帮助您控制迁移并最小化应用程序停机时间。

2.1. Migration Toolkit for Containers 1.5 发行注记

该版本 1.5 的 Migration Toolkit for Containers (MTC) 版本 1.5 发行注记介绍了新功能、增强功能和已知问题。

2.1.1. 新功能及功能增强

此发行版本有以下新功能和增强:

  • Web 控制台的 Migration 详情页面中的 Migration 资源树通过用于监控和调试迁移的其他资源、Kubernetes 事件和实时状态信息进行了增强。
  • Web 控制台支持数百个迁移计划。
  • 源命名空间可以在迁移计划中映射到不同的目标命名空间。在以前的版本中,源命名空间映射到名称相同的目标命名空间。
  • 在迁移过程中,Web 控制台中会显示带有状态信息的 hook 阶段。
  • 在直接卷迁移过程中,web 控制台中会显示 Rsync 重试尝试的数量。
  • 可以为直接卷迁移启用持久性卷 (PV) 大小,以确保目标集群不会出现磁盘空间不足的问题。
  • 触发 PV 重新定义大小的阈值可以配置。在以前的版本中,当磁盘用量超过 97% 时,PV 会重新定义大小。
  • Velero 已更新至 1.6 版本,它提供了大量修复和增强。
  • 可以启用缓存的 Kubernetes 客户端来提高性能。

2.1.2. 已弃用的功能

以下功能已弃用:

  • MTC 版本 1.2 和 1.3 不再被支持。
  • 更新已弃用 API 的步骤已从文档的故障排除部分中删除,因为 oc convert 命令已弃用。

2.1.3. 已知问题

这个版本有以下已知问题:

  • 如果您创建超过 400 个迁移计划,则 Microsoft Azure 存储不可用。MigStorage 自定义资源显示以下消息:The request is being throttled as the limit has been reached for operation type。(BZ#1977226
  • 如果迁移失败,迁移计划不会为静默的 pod 保留自定义持久性卷 (PV) 设置。您必须手动回滚,删除迁移计划,并使用 PV 设置创建新的迁移计划。(BZ#1784899)
  • 对于 AWS gp2 存储,PV 大小重新定义无法正常工作,除非 pv_resizing_threshold 为 42% 或更高。(BZ#1973148
  • 在以下情况下,PV 重新定义大小不适用于 OpenShift Container Platform 3.7 和 3.9 源集群:

    • 应用程序是在安装 MTC 后安装的。
    • 安装 MTC 后,应用程序 pod 会被重新调度到其他节点上。

      OpenShift Container Platform 3.7 和 3.9 不支持 Mount Propagation 功能,它允许 Velero 在 Restic pod 中自动挂载 PV。MigAnalytic 自定义资源 (CR) 无法从 Restic pod 收集 PV 数据,并将资源报告为 0MigPlan CR 显示类似如下的状态:

      输出示例

      status:
        conditions:
        - category: Warn
          lastTransitionTime: 2021-07-15T04:11:44Z
          message: Failed gathering extended PV usage information for PVs [nginx-logs nginx-html], please see MigAnalytic openshift-migration/ocp-24706-basicvolmig-migplan-1626319591-szwd6 for details
          reason: FailedRunningDf
          status: "True"
          type: ExtendedPVAnalysisFailed

      要启用 PV 大小调整,您可以在源集群中手动重启 Restic daemonset,或者在与应用程序相同的节点上重启 Restic pod。如果没有重启 Restic,在没有调整 PV 的情况下运行直接卷迁移。(BZ#1982729

2.1.4. 技术变化

此发行版本有以下技术更改:

  • 旧的 MTC Operator 版本 1.5.1 在 OpenShift Container Platform 版本 3.7 到 4.5 中手动安装。
  • Migration Toolkit for Containers Operator 版本 1.5.1 在 OpenShift Container Platform 版本 4.6 及更新的版本中使用 Operator Lifecycle Manager 安装。