×

在使用容器迁移工具包 (MTC) 迁移应用程序工作负载之前,请查看以下清单。

资源

  • 如果您的应用程序使用内部服务网络或外部路由与服务通信,则存在相关的路由。

  • 如果您的应用程序使用集群级资源,您已在目标集群上重新创建它们。

  • 您已排除持久卷 (PV)、镜像流和其他您不想迁移的资源。

  • 如果应用程序在迁移后显示意外行为并损坏数据,则已备份 PV 数据。

源集群

  • 集群满足最低硬件要求

  • 您已安装正确的旧版容器迁移工具包操作员版本

    • operator-3.7.yml 在 OpenShift Container Platform 版本 3.7 上。

    • operator.yml 在 OpenShift Container Platform 版本 3.9 到 4.5 上。

  • 所有节点都具有活动的 OpenShift Container Platform 订阅。

  • 您已执行所有一次性任务

  • 您已执行所有环境运行状况检查

  • 您已检查状态为**终止**的配置异常的 PV,方法是运行以下命令

    $ oc get pv
  • 您已检查状态不是**运行**或**已完成**的 Pod,方法是运行以下命令

    $ oc get pods --all-namespaces | egrep -v 'Running | Completed'
  • 您已检查重启次数较高的 Pod,方法是运行以下命令

    $ oc get pods --all-namespaces --field-selector=status.phase=Running \
      -o json | jq '.items[]|select(any( .status.containerStatuses[]; \
      .restartCount > 3))|.metadata.name'

    即使 Pod 处于**运行**状态,较高的重启次数也可能表示底层问题。

  • 您已通过修剪删除要迁移的每个命名空间中的旧构建、部署和镜像。

  • OpenShift镜像注册表使用受支持的存储类型

  • 仅限直接镜像迁移:OpenShift镜像注册表已暴露给外部流量。

  • 您可以读取和写入注册表中的镜像。

  • etcd集群运行正常。

  • 源集群上的平均API服务器响应时间小于50毫秒。

  • 集群证书在迁移过程中有效

  • 您已通过运行以下命令检查了待处理的证书签名请求

    $ oc get csr -A | grep pending -i
  • 身份提供商正在运行。

  • 您已将每个OpenShift Container Platform路由的openshift.io/host.generated注释参数的值设置为true,这将更新目标集群的路由主机名。否则,迁移后的路由将保留源集群主机名。

目标集群

  • 您已安装Containers Operator迁移工具包1.5.1版本。

  • 所有MTC先决条件均已满足。

  • 集群满足特定平台和安装方法的最低硬件要求,例如,在裸机上。

  • 集群已为源集群使用的存储类型定义了存储类,例如块卷、文件系统或对象存储。

    NFS不需要定义存储类。

  • 集群具有正确的网络配置和权限,可以访问外部服务,例如数据库、源代码存储库、容器镜像注册表和CI/CD工具。

  • 使用集群提供的服务的外部应用程序和服务具有正确的网络配置和权限来访问集群。

  • 内部容器镜像依赖项已满足。

    如果应用程序在openshift命名空间中使用OpenShift Container Platform 4.17不支持的内部镜像,您可以使用podman手动更新OpenShift Container Platform 3镜像流标签

  • 目标集群和复制存储库具有足够的存储空间。

  • 身份提供商正在运行。

  • 您的应用程序的DNS记录存在于目标集群上。

  • 您的应用程序使用的证书存在于目标集群上。

  • 您已在目标集群上配置了适当的防火墙规则。

  • 您已在目标集群上正确配置了负载均衡。

  • 如果您将对象迁移到目标集群上与从源集群迁移的命名空间同名的现有命名空间,则目标命名空间不包含与正在迁移的对象同名且同类型的对象。

    迁移前不要在目标集群上为您的应用程序创建命名空间,因为这可能会导致配额更改。

性能

  • 迁移网络的最小吞吐量为10 Gbps。

  • 集群具有足够的迁移资源。

    集群需要额外的内存、CPU和存储空间才能在正常工作负载之上运行迁移。实际资源需求取决于单个迁移计划中迁移的Kubernetes资源数量。您必须在非生产环境中测试迁移才能估算资源需求。

  • 节点的内存和CPU使用率正常。

  • 已使用fio检查了集群的etcd磁盘性能