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 集群的状态更改。有关每个阶段及其状况的概述,请查看下表:

Expand
表 1.1. Phase 和 Condition的列表
阶段状况

待处理

一次执行一个迁移。其他迁移仍为 Pending

验证

验证集群和 hub 集群是否有效。

Initializing

准备 目标和 hub 集群。

部署

迁移所选集群及其资源。

注册

重启集群 到目标 hub 集群。

清理

目标和 hub 集群中清理资源,并根据需要管理 回滚

完成

确认迁移成功完成。

Failed

确认迁移失败,并在状态中包含此失败信息。

有关支持的版本以及对应的 multicluster global hub ,以及 目标 hub 版本,请查看下表:

Expand
表 1.2. 支持的版本表列表
用于迁移的多集群全局 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 环境中。

完成以下步骤:

  1. 在源 Red Hat Advanced Cluster Management hub 集群中安装 multicluster global hub operator。
  2. 在 multicluster global hub 自定义 Operator 中启用 在源 hub 集群中运行的 local-cluster
  3. 应用以下 YAML 来创建多集群全局 hub 操作对象,并启用 multicluster global hub 代理在本地运行:

    apiVersion: operator.open-cluster-management.io/v1alpha4
    kind: MulticlusterGlobalHub
    metadata:
      name: multiclusterglobalhub
      namespace: multicluster-global-hub
    spec:
      availabilityConfig: High
      installAgentOnLocal: true
    Copy to Clipboard Toggle word wrap
  4. 将目标 hub 集群导入到处于 Hosted 模式的多集群全局 hub 中。在受管 hub 集群中添加以下标签:

    global-hub.open-cluster-management.io/deploy-mode=hosted
    Copy to Clipboard Toggle word wrap

1.15.4. 迁移受管集群

配置多集群全局 hub 迁移环境后,迁移受管集群。完成以下步骤,将 cluster1 示例和相关资源从 hub1 迁移到 hub 2 hub 集群:

您可以通过按名称或使用 Placement 资源直接在受管集群选择受管集群,在 multicluster global hub 迁移环境中创建 ManagedClusterMigration 资源。

要根据名称迁移特定的受管集群,请完成以下步骤:

  1. 进入多集群全局 hub 命名空间。
  2. 应用以下 YAML 文件:

    apiVersion: global-hub.open-cluster-management.io/v1alpha1
    kind: ManagedClusterMigration
    metadata:
      name: migration-sample
    spec:
      from: local-cluster 
    1
    
      includedManagedClusters:
        - cluster1 
    2
    
        - cluster2
      to: hub2 
    3
    Copy to Clipboard Toggle word wrap
    1 1
    hub 集群是一个 local-cluster,在 hub 1 hub 集群中安装了多集群全局 hub。
    2
    正在迁移到 hub2 hub 集群的受管集群。hub1hub 集群中的 受管集群必须与另一个集群不同。
    3
    目标 hub 集群是 hub2

要使用 放置资源 迁移受管集群,请完成以下步骤:

  1. 进入多集群全局 hub 命名空间。
  2. 根据 放置资源 中定义的标签、集群属性或其他条件选择集群。
  3. 应用以下 YAML 文件:

    apiVersion: global-hub.open-cluster-management.io/v1alpha1
    kind: ManagedClusterMigration
    metadata:
      name: migration-placement-sample
    spec:
      from: local-cluster 
    1
    
      includedManagedClustersPlacementRef: production-clusters 
    2
    
      to: hub2 
    3
    Copy to Clipboard Toggle word wrap
    1
    hub 集群是一个 local-cluster,在 hub 1 hub 集群中安装了多集群全局 hub。
    2
    具有名称 production-clustersPlacement 资源,用于定义要迁移的集群。您必须在源 hub 集群的 multicluster global hub 代理命名空间中定义 放置资源。例如,您可以命名 放置资源 multicluster-global-hubmulticluster-global-hub-agent
    3
    目标 hub 集群是 hub2
  4. 指定要包含在迁移中的 ManagedClusters 或 includedManagedClusters PlacementRef 集群类型。在迁移中仅包含其中一个集群类型,因为它们无法同时存在。

1.15.5. 跟踪迁移状态

在迁移过程中,您可以使用 multicluster global hub ConfigMap 或迁移客户资源来跟踪受管集群的状态。

multicluster global hub 会自动创建一个 ConfigMap,它为您提供了详细的集群列表,告诉集群迁移失败或成功。迁移客户资源为您提供了整个迁移过程的状态。

通过完成以下步骤跟踪受管集群的迁移状态:

  1. 运行以下命令,从 ConfigMap 查看迁移状态:

    kubectl get configmap <migration-name> -n <global-hub-namespace> -o yaml
    Copy to Clipboard Toggle word wrap
  2. 确保您看到的 ConfigMap 类似以下示例:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: migration-sample
      namespace: multicluster-global-hub
    data:
      success: '["cluster1","cluster3"]'
      failure: '["cluster2"]'
    Copy to Clipboard Toggle word wrap
  3. 要从迁移客户资源中查看跟踪状态,请验证其迁移状态为 True,并且类似以下示例:
status:
  conditions:
    - type: ResourceValidated
      status: "True"
      message: Migration resources have been validated
    - type: ResourceInitialized
      status: "True"
      message: All source and target hubs have been initialized
    - type: ResourceDeployed
      status: "True"
      message: Resources have been successfully deployed to the target hub cluster
    - type: ClusterRegistered
      status: "True"
      message: All migrated clusters have been successfully registered
    - type: ResourceCleaned
      status: "True"
      message: Resources have been successfully cleaned up from the hub clusters
  phase: Completed
Copy to Clipboard Toggle word wrap

1.15.6. 其他资源

要了解更多有关导入 hub 集群的信息,请参阅以下资源:

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部