搜索

第 10 章 迁移应用程序

download PDF

您可以使用 Migration Toolkit for Containers(MTC)web 控制台或命令行来迁移应用程序。

您可以使用阶段迁移和剪切迁移在集群间迁移应用程序:

  • 阶段迁移 (Stage migration) 会在不停止应用程序的情况下将数据从源集群复制到目标集群。您可以多次运行一个阶段迁移来缩短迁移的持续时间。
  • 剪切迁移 (Cutover migration) 将停止源集群中的事务,并将资源移到目标集群。

您可以使用状态迁移来迁移应用程序的状态:

  • 状态迁移复制所选持久性卷声明 (PVC)。
  • 您可以使用状态迁移来迁移同一集群中的命名空间。

大多数集群范围的资源还没有由 MTC 处理。如果应用程序需要集群范围的资源,则可能需要在目标集群上手动创建。

在迁移过程中,MTC 会保留以下命名空间注解:

  • openshift.io/sa.scc.mcs
  • openshift.io/sa.scc.supplemental-groups
  • openshift.io/sa.scc.uid-range

这些注解会保留 UID 范围,确保容器在目标集群中保留其文件系统权限。这可能会存在一定的风险。因为迁移的 UID 可能已存在于目标集群的现有或将来的命名空间中。

10.1. 迁移先决条件

  • 必须使用在所有集群中具有 cluster-admin 权限的用户登录。

直接镜像迁移

  • 您必须确保源集群的安全 OpenShift 镜像 registry 已公开。
  • 您必须创建指向公开 registry 的路由。

直接卷迁移

  • 如果您的集群使用代理,您必须配置 Stunnel TCP 代理。

内部镜像

  • 如果应用程序使用 openshift 命名空间中的内部镜像,您必须确保目标集群中存在所需的镜像版本。

    您可以手动更新镜像流标签,以便在 OpenShift Container Platform 4.12 集群中使用已弃用的 OpenShift Container Platform 3 镜像。

Clusters

  • 源集群必须升级到最新的 MTC z-stream 版本。
  • 在所有集群中,MTC 版本必须相同。

网络

  • 集群在相互间有无限制的网络访问,并可以访问复制存储库。
  • 如果您复制有 移动 的持久性卷,集群必须具有对远程卷的不受限制的网络访问权限。
  • 您必须在 OpenShift Container Platform 3 集群中启用以下端口:

    • 8443 (API 服务器)
    • 443 (路由)
    • 53 (DNS)
  • 您必须在 OpenShift Container Platform 4 集群中启用以下端口:

    • 6443 (API 服务器)
    • 443 (路由)
    • 53 (DNS)
  • 如果使用 TLS,则必须在复制存储库中启用端口 443

持久性卷(PV)

  • PV 必须有效。
  • PV 必须绑定到持久性卷声明。
  • 如果使用快照复制 PV,则需要满足以下额外先决条件:

    • 云供应商必须支持快照。
    • PV 必须具有相同的云供应商。
    • PV 必须位于同一区域。
    • PV 必须具有相同的存储类。

迁移先决条件的其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.