第 1 章 使用 Red Hat Advanced Cluster Management 集成的 multicluster engine operator


如果您使用 multicluster engine operator,然后安装 Red Hat Advanced Cluster Management,您可以访问更多多集群管理功能,如 ObservabilityPolicy

有关集成功能,请查看以下要求:

  • 您需要安装 Red Hat Advanced Cluster Management。请参阅 Red Hat Advanced Cluster Management 安装和升级文档。
  • 有关安装后 Red Hat Advanced Cluster Management 的详情,请参阅 MultiClusterHub 高级配置

有关 multicluster engine operator 和 Red Hat Advanced Cluster Management 多集群管理,请参阅以下步骤:

如果您有托管多个托管集群的多集群引擎 operator 集群,您可以将这些 托管集群 引入 Red Hat Advanced Cluster Management hub 集群,以使用 Red Hat Advanced Cluster Management 组件(如 应用程序生命周期和监管管理

这些托管集群可以自动发现并导入为受管集群。

注: 由于托管 control plane 在受管多集群引擎 operator 集群节点上运行,集群可以托管的 control plane 数量由受管多集群引擎 operator 集群节点的资源可用性决定,以及受管 multicluster engine operator 集群的数量。您可以添加更多节点或受管集群来托管更多托管的 control plane。

需要的访问权限:集群管理员

1.1.1. 先决条件

  • 您需要一个或多个多集群引擎 operator 集群。
  • 您需要一个设置为 hub 集群的 Red Hat Advanced Cluster Management 集群。
  • 运行以下命令来安装 clusteradm CLI:

    curl -L https://raw.githubusercontent.com/open-cluster-management-io/clusteradm/main/install.sh | bash
    Copy to Clipboard Toggle word wrap

multicluster engine operator 有一个 local-cluster,它是管理的 hub 集群。在 open-cluster-management-agent-addon 命名空间中为这个 local-cluster 启用以下默认附加组件:

  • cluster-proxy
  • managed-serviceaccount
  • work-manager

1.1.2.1. 配置附加组件

当 multicluster engine Operator 导入到 Red Hat Advanced Cluster Management 中时,Red Hat Advanced Cluster Management 会启用同一组附加组件来管理 multicluster engine operator。

在不同的多集群引擎 operator 命名空间中安装这些附加组件,以便 multicluster engine operator 可以在 Red Hat Advanced Cluster Management 管理多集群引擎 operator 时使用 local-cluster 附加组件进行自我管理。完成以下步骤:

  1. 使用 CLI 登录您的 Red Hat Advanced Cluster Management。
  2. 创建 AddOnDeploymentConfig 资源,以指定不同的附加组件安装命名空间。请参阅以下示例,其中 agentInstallNamespace 引用 open-cluster-management-agent-addon-discovery

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: addon-ns-config
      namespace: multicluster-engine
    spec:
      agentInstallNamespace: open-cluster-management-agent-addon-discovery
    Copy to Clipboard Toggle word wrap
  3. 运行 oc apply -f <filename>.yaml 以应用该文件。
  4. 更新附加组件的现有 ClusterManagementAddOn 资源,以便在您创建的 AddOnDeploymentConfig 资源中指定的 open-cluster-management-agent-addon-discovery 命名空间中安装附加组件。请参阅以下示例,并将 open-cluster-management-global-set 作为命名空间:

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: ClusterManagementAddOn
    metadata:
      name: work-manager
    spec:
      addonMeta:
        displayName: work-manager
      installStrategy:
        placements:
        - name: global
          namespace: open-cluster-management-global-set
          rolloutStrategy:
            type: All
        type: Placements
    Copy to Clipboard Toggle word wrap
    1. addonDeploymentConfig 添加到 ClusterManagementAddOn。请参见以下示例:

      apiVersion: addon.open-cluster-management.io/v1alpha1
      kind: ClusterManagementAddOn
      metadata:
        name: work-manager
      spec:
        addonMeta:
          displayName: work-manager
        installStrategy:
          placements:
          - name: global
            namespace: open-cluster-management-global-set
            rolloutStrategy:
              type: All
            configs:
            - group: addon.open-cluster-management.io
              name: addon-ns-config
              namespace: multicluster-engine
              resource: addondeploymentconfigs
          type: Placements
      Copy to Clipboard Toggle word wrap
    2. AddOnDeploymentConfig 添加到 managed-serviceaccount。请参见以下示例:

      apiVersion: addon.open-cluster-management.io/v1alpha1
      kind: ClusterManagementAddOn
      metadata:
        name: managed-serviceaccount
      spec:
        addonMeta:
          displayName: managed-serviceaccount
        installStrategy:
          placements:
          - name: global
            namespace: open-cluster-management-global-set
            rolloutStrategy:
              type: All
            configs:
            - group: addon.open-cluster-management.io
              name: addon-ns-config
              namespace: multicluster-engine
              resource: addondeploymentconfigs
          type: Placements
      Copy to Clipboard Toggle word wrap
    3. addondeploymentconfigs 值添加到名为 cluster-proxyClusterManagementAddOn 资源中。请参见以下示例:
    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: ClusterManagementAddOn
    metadata:
      name: cluster-proxy
    spec:
      addonMeta:
        displayName: cluster-proxy
      installStrategy:
        placements:
        - name: global
          namespace: open-cluster-management-global-set
          rolloutStrategy:
            type: All
          configs:
          - group: addon.open-cluster-management.io
            name: addon-ns-config
            namespace: multicluster-engine
            resource: addondeploymentconfigs
        type: Placements
    Copy to Clipboard Toggle word wrap
  5. 运行以下命令,以验证 Red Hat Advanced Cluster Management local-cluster 的附加组件是否已重新安装到您指定的命名空间中:

    oc get deployment -n open-cluster-management-agent-addon-discovery
    Copy to Clipboard Toggle word wrap

    请参见以下输出示例:

    NAME                                 READY   UP-TO-DATE   AVAILABLE    AGE
    cluster-proxy-proxy-agent             1/1     1            1           24h
    klusterlet-addon-workmgr             1/1     1            1           24h
    managed-serviceaccount-addon-agent   1/1     1            1           24h
    Copy to Clipboard Toggle word wrap

1.1.2.2. 创建 KlusterletConfig 资源

multicluster engine operator 有一个 local-cluster,它是管理的 hub 集群。为这个 local-cluster 创建了名为 klusterlet 的资源。

当 multicluster engine operator 导入到 Red Hat Advanced Cluster Management 中时,Red Hat Advanced Cluster Management 会安装带有相同名称 klusterlet 的 klusterlet 来管理多集群引擎 operator。这与 multicluster engine operator local-cluster klusterlet 冲突。

您需要创建一个 ManagedCluster 资源用来导入多集群引擎 operator 集群的 KlusterletConfig 资源,以便 klusterlet 使用不同的名称安装,以避免冲突。完成以下步骤:

  1. 使用以下示例创建 KlusterletConfig 资源。当在受管集群中引用此 KlusterletConfig 资源时,spec.installMode.noOperator.postfix 字段的值用作 klusterlet 名称的一个后缀,如 klusterlet-mce-import

    kind: KlusterletConfig
    apiVersion: config.open-cluster-management.io/v1alpha1
    metadata:
      name: mce-import-klusterlet-config
    spec:
      installMode:
        type: noOperator
        noOperator:
           postfix: mce-import
    Copy to Clipboard Toggle word wrap
  2. 运行 oc apply -f <filename>.yaml 以应用该文件。

1.1.2.3. 配置用于备份和恢复

安装 Red Hat Advanced Cluster Management 后,您还可以使用备份和恢复功能

如果 hub 集群在灾难恢复场景中恢复,导入的 multicluster engine operator 集群和托管集群会导入到较新的 Red Hat Advanced Cluster Management hub 集群中。

在这种情况下,您需要在 Red Hat Advanced Cluster Management hub 集群恢复过程中恢复以前的配置。

添加 backup=true 标签以启用备份。参阅每个附加组件的以下步骤:

  • 对于 addon-ns-config,运行以下命令:

    oc label addondeploymentconfig addon-ns-config -n multicluster-engine cluster.open-cluster-management.io/backup=true
    Copy to Clipboard Toggle word wrap
  • 对于 hypershift-addon-deploy-config,请运行以下命令:

    oc label addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine cluster.open-cluster-management.io/backup=true
    Copy to Clipboard Toggle word wrap
  • 对于您的 work-manager,请运行以下命令:

    oc label clustermanagementaddon work-manager cluster.open-cluster-management.io/backup=true
    Copy to Clipboard Toggle word wrap
  • 对于 'cluster-proxy ',请运行以下命令:

    oc label clustermanagementaddon cluster-proxy cluster.open-cluster-management.io/backup=true
    Copy to Clipboard Toggle word wrap
  • 对于 managed-serviceaccount,运行以下命令:

    oc label clustermanagementaddon managed-serviceaccount cluster.open-cluster-management.io/backup=true
    Copy to Clipboard Toggle word wrap
  • 对于您的 mce-import-klusterlet-config,请运行以下命令:

    oc label KlusterletConfig mce-import-klusterlet-config cluster.open-cluster-management.io/backup=true
    Copy to Clipboard Toggle word wrap

1.1.3. 手动导入多集群引擎 operator

要从 Red Hat Advanced Cluster Management 集群中手动导入 multicluster engine operator 集群,请完成以下步骤:

  1. 在 Red Hat Advanced Cluster Management 集群中,手动创建 ManagedCluster 资源来导入 multicluster engine operator 集群。请参见以下文件示例:

    apiVersion: cluster.open-cluster-management.io/v1
    kind: ManagedCluster
    metadata:
      annotations:
        agent.open-cluster-management.io/klusterlet-config: mce-import-klusterlet-config 
    1
    
      labels:
        cloud: auto-detect
        vendor: auto-detect
      name: mce-a 
    2
    
    spec:
      hubAcceptsClient: true
      leaseDurationSeconds: 60
    Copy to Clipboard Toggle word wrap
    1
    mce-import-klusterlet-config 注解引用您在上一步中创建的 KlusterletConfig 资源,以便在 multicluster engine operator 中安装带有不同名称的 Red Hat Advanced Cluster Management klusterlet。
    2
    这个示例导入了一个名为 mce-a 的多集群引擎 operator 受管集群。
  2. 运行 oc apply -f <filename>.yaml 以应用该文件。
  3. 创建 auto-import-secret secret,该 secret 引用了 multicluster engine operator 集群的 kubeconfig。转到使用 CLI 导入托管集群的使用自动导入密钥导入集群来添加自动导入密钥,以完成多集群引擎操作员自动导入过程。

    在 Red Hat Advanced Cluster Management 集群的 multicluster engine operator 受管集群命名空间中创建自动导入 secret 后,受管集群会被注册。

  4. 运行以下命令来获取状态:

    oc get managedcluster
    Copy to Clipboard Toggle word wrap

    请参阅以下带有受管集群的状态和示例 URL 的输出示例:

    NAME           HUB ACCEPTED   MANAGED CLUSTER URLS            JOINED   AVAILABLE   AGE
    local-cluster  true           https://<api.acm-hub.com:port>  True     True        44h
    mce-a          true           https://<api.mce-a.com:port>    True     True        27s
    Copy to Clipboard Toggle word wrap

重要: 不要为导入的多集群引擎 operator 启用任何其他 Red Hat Advanced Cluster Management 附加组件。

1.1.4. 发现托管集群

在将所有多集群引擎 operator 集群导入到 Red Hat Advanced Cluster Management 后,您需要为这些受管多集群引擎 operator 集群启用 hypershift-addon 来发现托管集群。

默认附加组件安装到前面流程的不同命名空间中。同样,您可以在多集群引擎 operator 中将 hypershift-addon 安装到不同的命名空间中,以便多集群引擎 operator local-cluster 的附加组件代理和 Red Hat Advanced Cluster Management 的代理可以在多集群引擎 operator 中正常工作。

重要: 对于所有命令,将 &lt ;managed-cluster-names > 替换为 multicluster engine operator 的以逗号分隔的受管集群名称。

  1. 运行以下命令,将附加组件的 agentInstallNamespace 命名空间设置为 open-cluster-management-agent-addon-discovery

    oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"agentInstallNamespace":"open-cluster-management-agent-addon-discovery"}}'
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令以禁用指标并禁用 HyperShift operator 管理:

    oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"customizedVariables":[{"name":"disableMetrics","value": "true"},{"name":"disableHOManagement","value": "true"}]}}'
    Copy to Clipboard Toggle word wrap
  3. 可选: 您可以使用 {"name":"discoveryPrefix","value": ""}]}}' 附加上一个命令来设置命名约定。当发现的托管集群自动导入到 Red Hat Advanced Cluster Management hub 集群时,它会成为具有以下命名约定 的受管集群:'<mce-cluster -name>'- <hosted-cluster-name >。您还可以将 discoveryPrefix 设置为其他一些字符串,将其用作替换 < mce-cluster-name > 的前缀。使用前缀运行以下命令:

    oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"customizedVariables":[{"name":"disableMetrics","value": "true"},{"name":"disableHOManagement","value": "true"},{"name":"discoveryPrefix","value": ""}]}}'
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令,为多集群引擎 operator 启用 hypershift-addon

    clusteradm addon enable --names hypershift-addon --clusters <managed-cluster-names>
    Copy to Clipboard Toggle word wrap
  5. 您可以通过在 Red Hat Advanced Cluster Management 中运行以下命令来获取 multicluster engine operator 受管集群名称。

    oc get managedcluster
    Copy to Clipboard Toggle word wrap
  6. 登录到多集群引擎 operator 集群,并验证您指定的命名空间中是否安装了 hypershift-addon。运行以下命令:

    oc get deployment -n open-cluster-management-agent-addon-discovery
    Copy to Clipboard Toggle word wrap

    请参阅以下列出附加组件的输出示例:

    NAME                                 READY   UP-TO-DATE   AVAILABLE   AGE
    cluster-proxy-proxy-agent            1/1     1            1           24h
    klusterlet-addon-workmgr            1/1     1            1           24h
    hypershift-addon-agent              1/1     1            1           24h
    managed-serviceaccount-addon-agent  1/1     1            1           24h
    Copy to Clipboard Toggle word wrap

Red Hat Advanced Cluster Management 部署 hypershift-addon,它是从多集群引擎 operator 发现托管集群的发现代理。当托管集群 kube-apiserver 可用时,代理会在 Red Hat Advanced Cluster Management hub 集群中的 multicluster engine operator 受管集群命名空间中创建对应的 DiscoveredCluster 自定义资源。

您可以在控制台中查看发现的集群。

  1. 登录到 hub 集群控制台并进入到 All Clusters > Infrastructure > Clusters
  2. 找到 Discovered clusters 选项卡,以查看来自 multicluster engine operator 的所有发现的、类型为 MultiClusterEngineHCP 的托管集群。

接下来,请访问 Automating import for discovered hosted cluster,了解如何自动导入集群。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat