×

您可以使用 Operator Lifecycle Manager 升级 OpenShift Container Platform 4.17 上的容器迁移工具包 (MTC)。

您可以通过重新安装旧版容器迁移工具包运算符来升级 OpenShift Container Platform 3 上的 MTC。

如果您是从 MTC 1.3 版本升级,则必须执行其他步骤来更新MigPlan自定义资源 (CR)。

在 OpenShift Container Platform 4.17 上升级容器迁移工具包

您可以使用 Operator Lifecycle Manager 升级 OpenShift Container Platform 4.17 上的容器迁移工具包 (MTC)。

使用 Operator Lifecycle Manager 升级 MTC 时,必须使用受支持的迁移路径。

迁移路径
  • 从 OpenShift Container Platform 3 迁移到 OpenShift Container Platform 4 需要旧版 MTC 运算符和 MTC 1.7.x。

  • 不支持从 MTC 1.7.x 迁移到 MTC 1.8.x。

  • 必须使用 MTC 1.7.x 迁移任何源为 OpenShift Container Platform 4.9 或更早版本的内容。

    • 源和目标都必须使用 MTC 1.7.x。

  • MTC 1.8.x 仅支持从 OpenShift Container Platform 4.10 或更高版本到 OpenShift Container Platform 4.10 或更高版本的迁移。对于仅涉及 4.10 及更高版本集群的迁移,可以使用 1.7.x 或 1.8.x。但是,源和目标必须使用相同的 MTC 版本。

    • 不支持从源 MTC 1.7.x 迁移到目标 MTC 1.8.x。

    • 不支持从源 MTC 1.8.x 迁移到目标 MTC 1.7.x。

    • 支持从源 MTC 1.7.x 迁移到目标 MTC 1.7.x。

    • 支持从源 MTC 1.8.x 迁移到目标 MTC 1.8.x

先决条件
  • 您必须以具有cluster-admin权限的用户身份登录。

步骤
  1. 在 OpenShift Container Platform 控制台中,导航到**运算符**→**已安装的运算符**。

    具有待处理升级的运算符将显示**可用升级**状态。

  2. 点击**容器迁移工具包运算符**。

  3. 点击**订阅**选项卡。任何需要批准的升级都将显示在**升级状态**旁边。例如,它可能会显示**1 个需要批准**。

  4. 点击**1 个需要批准**,然后点击**预览安装计划**。

  5. 查看列出的可升级资源,然后点击**批准**。

  6. 返回**操作员 → 已安装的操作员**页面监控升级进度。完成后,状态将变为**成功**和**最新**。

  7. 单击**工作负载** → **Pod**以验证MTC Pod是否正在运行。

在OpenShift Container Platform 3上升级容器迁移工具包

您可以通过手动安装旧版容器迁移工具包操作员来升级OpenShift Container Platform 3上的容器迁移工具包(MTC)。

先决条件
  • 您必须以具有cluster-admin权限的用户身份登录。

  • 您必须能够访问registry.redhat.io

  • 您必须已安装podman

步骤
  1. 使用您的Red Hat客户门户凭据登录registry.redhat.io,输入以下命令

    $ podman login registry.redhat.io
  2. 输入以下命令下载operator.yml文件

    $ podman cp $(podman create registry.redhat.io/rhmtc/openshift-migration-legacy-rhel8-operator:v1.7:/operator.yml ./
  3. 输入以下命令替换容器迁移工具包操作员

    $ oc replace --force -f operator.yml
  4. 输入以下命令将migration-operator部署缩放到0以停止部署

    $ oc scale -n openshift-migration --replicas=0 deployment/migration-operator
  5. 输入以下命令将migration-operator部署缩放到1以启动部署并应用更改

    $ oc scale -n openshift-migration --replicas=1 deployment/migration-operator
  6. 输入以下命令验证migration-operator是否已升级

    $ oc -o yaml -n openshift-migration get deployment/migration-operator | grep image: | awk -F ":" '{ print $NF }'
  7. 输入以下命令下载controller.yml文件

    $ podman cp $(podman create registry.redhat.io/rhmtc/openshift-migration-legacy-rhel8-operator:v1.7):/operator.yml ./
  8. 输入以下命令创建migration-controller对象

    $ oc create -f controller.yml
  9. 如果您之前已将OpenShift Container Platform 3集群添加到MTC Web控制台,则必须更新Web控制台中的服务帐户令牌,因为升级过程会删除并恢复openshift-migration命名空间

    1. 输入以下命令获取服务帐户令牌

      $ oc sa get-token migration-controller -n openshift-migration
    2. 在MTC Web控制台中,单击**集群**。

    3. 单击集群旁边的选项菜单kebab并选择**编辑**。

    4. 在**服务帐户令牌**字段中输入新的服务帐户令牌。

    5. 单击**更新集群**,然后单击**关闭**。

  10. 输入以下命令验证MTC Pod是否正在运行

    $ oc get pods -n openshift-migration

将MTC 1.3升级到1.8

如果您要将容器迁移工具包(MTC)版本1.3.x升级到1.8,则必须更新MigrationController Pod正在运行的集群上的MigPlan自定义资源(CR)清单。

由于indirectImageMigrationindirectVolumeMigration参数在MTC 1.3中不存在,因此它们在1.4版本中的默认值为false,这意味着启用了直接镜像迁移和直接卷迁移。由于不满足直接迁移要求,除非将这些参数值更改为true,否则迁移计划无法达到就绪状态。

  • 从 OpenShift Container Platform 3 迁移到 OpenShift Container Platform 4 需要旧版 MTC 运算符和 MTC 1.7.x。

  • 将MTC 1.7.x升级到1.8.x需要手动将OADP通道从stable-1.0更新到stable-1.2,以便成功完成从1.7.x到1.8.x的升级。

先决条件
  • 您必须以具有cluster-admin权限的用户身份登录。

步骤
  1. 登录到MigrationController Pod正在运行的集群。

  2. 获取MigPlan CR清单

    $ oc get migplan <migplan> -o yaml -n openshift-migration
  3. 更新以下参数值并将文件保存为migplan.yaml

    ...
    spec:
      indirectImageMigration: true
      indirectVolumeMigration: true
  4. 替换MigPlan CR清单以应用更改

    $ oc replace -f migplan.yaml -n openshift-migration
  5. 获取更新的MigPlan CR清单以验证更改

    $ oc get migplan <migplan> -o yaml -n openshift-migration