9.4. 迁移计划选项

您可以在 MigPlan 自定义资源 (CR) 中排除、编辑和映射组件。

9.4.1. 排除资源

您可以从 MTC 迁移计划中排除资源,如镜像流、持久性卷(PV)或订阅,以便减少迁移的资源负载,或使用其他工具迁移镜像或 PV。

默认情况下,MTC 会排除服务目录资源和 Operator Lifecycle Manager(OLM)资源。这些资源是服务目录 API 组和 OLM API 组的一部分,目前还不支持迁移。

流程

  1. 编辑 MigrationController 自定义资源清单:

    $ oc edit migrationcontroller <migration_controller> -n openshift-migration
  2. 更新 spec 部分,方法是添加参数以排除特定资源,或者在 exclude_resources 参数中添加资源(如果它本身没有排除参数):

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigrationController
    metadata:
      name: migration-controller
      namespace: openshift-migration
    spec:
      disable_image_migration: true 1
      disable_pv_migration: true 2
      ...
      excluded_resources: 3
      - imagetags
      - templateinstances
      - clusterserviceversions
      - packagemanifests
      - subscriptions
      - servicebrokers
      - servicebindings
      - serviceclasses
      - serviceinstances
      - serviceplans
      - operatorgroups
      - events
      - events.events.k8s.io
    1
    添加 disable_image_migration: true 以排除迁移中的镜像流。不要编辑 exclude_resources 参数。当 MigrationController pod 重启时,镜像流会添加到 excluded_resources
    2
    添加 disable_pv_migration: true 以将 PV 排除在迁移计划之外。不要编辑 exclude_resources 参数。当 MigrationController Pod 重启时,persistentvolumespersistentvolumeclaims 会被添加到 excluded_resources。禁用 PV 迁移会同时在创建迁移计划时禁用 PV 发现功能。
    3
    您可以将 OpenShift Container Platform 资源添加到 exclude_resources 列表中。不要删除默认排除的资源。对这些进行迁移可能会产生问题,因此必须被排除。
  3. 等待 2 分钟,使 MigrationController Pod 重启,以便应用更改。
  4. 验证资源是否排除:

    $ oc get deployment -n openshift-migration migration-controller -o yaml | grep EXCLUDED_RESOURCES -A1

    输出包含排除的资源:

    输出示例

        - name: EXCLUDED_RESOURCES
          value:
          imagetags,templateinstances,clusterserviceversions,packagemanifests,subscriptions,servicebrokers,servicebindings,serviceclasses,serviceinstances,serviceplans,imagestreams,persistentvolumes,persistentvolumeclaims