1.15. 迁移受管集群
技术预览: 您可以访问多集群全局 hub 1.5 中的 Managed Cluster Migration 功能。您可以将受管集群从一个 Red Hat Advanced Cluster Management hub 集群迁移到另一个版本,例如,从 Red Hat Advanced Cluster Management 2.13 迁移到 Red Hat Advanced Cluster Management 2.14。
通过使用多集群全局 hub 迁移受管集群,您可以有一个统一的进程,可帮助您执行以下操作:
- 在 Red Hat Advanced Cluster Management hub 集群中重新组织工作负载
- 将集群及其资源移动在一起
- 自动进行集群注册和清理
- 使用详细的状态更新跟踪各个步骤
要完全迁移受管集群,请完成以下部分:
1.15.1. 先决条件 复制链接链接已复制到粘贴板!
要迁移受管集群,您需要以下组件:
- multicluster global hub operator 以组织迁移工作流。
-
源Red Hat Advanced Cluster Management hub 集群,用于管理集群和相关资源。 -
用于接收迁移的集群及相关资源
的目标Red Hat Advanced Cluster Management hub 集群。
1.15.2. 受管集群迁移过程 复制链接链接已复制到粘贴板!
使用多集群全局 hub,您可以通过实现多集群全局 hub 的事件驱动的架构来管理大量集群。多集群全局 hub 将自己连接到受管 hub 集群。使用基于 multicluster global hub 事件的设计,您可以启用多集群全局 hub 在所有 hub 集群中通信、组织、同步和传输资源和集群状态。
管理集群迁移过程需要在源和目标 Red Hat Advanced Cluster Management hub 集群间协调。 multicluster-global-hub-agent 在源和目标集群中 执行迁移 任务。multicluster-global-hub-manager 控制 hub 集群之间的迁移流,并管理 源和目标 ManagedClusterMigration 资源。
在受管集群迁移过程中, 经过不同的阶段。这些阶段及其条件有助于在整个迁移过程中跟踪 hub 集群的状态更改。有关每个阶段及其状况的概述,请查看下表:
源和目标集群
| 阶段 | 状况 |
|---|---|
|
|
一次执行一个迁移。其他迁移仍为 |
|
| 验证集群和 hub 集群是否有效。 |
|
|
准备 |
|
| 迁移所选集群及其资源。 |
|
|
重启集群 |
|
|
从 |
|
| 确认迁移成功完成。 |
|
|
确认迁移失败,并在状态中包含此失败信息。 |
有关支持的版本以及对应的 multicluster global hub 源,以及 目标 hub 版本,请查看下表:
| 用于迁移的多集群全局 hub 版本 | 源 hub 版本 | 目标 hub 版本 |
|---|---|---|
| 多集群全局 hub 1.5 | Red Hat Advanced Cluster Management 2.14 | Red Hat Advanced Cluster Management 2.14 |
| 多集群全局 hub 1.5 | Red Hat Advanced Cluster Management 2.13 | Red Hat Advanced Cluster Management 2.14 |
1.15.3. 准备迁移环境 复制链接链接已复制到粘贴板!
要为迁移准备多集群全局 hub 环境,您可以通过将 multicluster global hub control plane 直接部署到 源 hub 集群来创建 Brownfield 环境。然后,您可以将 目标 hub 集群导入到处于 Hosted 模式的 multicluster global hub 环境中。
完成以下步骤:
-
在源Red Hat Advanced Cluster Management hub 集群中安装 multicluster global hub operator。 -
在 multicluster global hub 自定义 Operator 中启用
在源hub 集群中运行的local-cluster。 应用以下 YAML 来创建多集群全局 hub 操作对象,并启用 multicluster global hub 代理在本地运行:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将目标 hub 集群导入到处于
Hosted模式的多集群全局 hub 中。在受管 hub 集群中添加以下标签:global-hub.open-cluster-management.io/deploy-mode=hosted
global-hub.open-cluster-management.io/deploy-mode=hostedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.15.4. 迁移受管集群 复制链接链接已复制到粘贴板!
配置多集群全局 hub 迁移环境后,迁移受管集群。完成以下步骤,将 cluster1 示例和相关资源从 hub1 迁移到 hub 2 hub 集群:
您可以通过按名称或使用 Placement 资源直接在受管集群选择受管集群,在 multicluster global hub 迁移环境中创建 ManagedClusterMigration 资源。
要根据名称迁移特定的受管集群,请完成以下步骤:
- 进入多集群全局 hub 命名空间。
应用以下 YAML 文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要使用 放置资源 迁移受管集群,请完成以下步骤:
- 进入多集群全局 hub 命名空间。
-
根据
放置资源中定义的标签、集群属性或其他条件选择集群。 应用以下 YAML 文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
指定要包含在迁移中的
ManagedClusters 或集群类型。在迁移中仅包含其中一个集群类型,因为它们无法同时存在。includedManagedClustersPlacementRef
1.15.5. 跟踪迁移状态 复制链接链接已复制到粘贴板!
在迁移过程中,您可以使用 multicluster global hub ConfigMap 或迁移客户资源来跟踪受管集群的状态。
multicluster global hub 会自动创建一个 ConfigMap,它为您提供了详细的集群列表,告诉集群迁移失败或成功。迁移客户资源为您提供了整个迁移过程的状态。
通过完成以下步骤跟踪受管集群的迁移状态:
运行以下命令,从
ConfigMap查看迁移状态:kubectl get configmap <migration-name> -n <global-hub-namespace> -o yaml
kubectl get configmap <migration-name> -n <global-hub-namespace> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保您看到的
ConfigMap类似以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
要从迁移客户资源中查看跟踪状态,请验证其迁移状态为
True,并且类似以下示例:
1.15.6. 其他资源 复制链接链接已复制到粘贴板!
要了解更多有关导入 hub 集群的信息,请参阅以下资源: