1.8. 将目标受管集群导入到 hub 集群


您可以从不同的 Kubernetes 云供应商导入集群。导入后,目标集群就成为 Red Hat Advanced Cluster Management for Kubernetes hub 集群的受管集群。除非另有指定,否则在可以访问 hub 集群和目标受管集群的任意位置完成导入任务。

hub 集群无法管理任何其他 hub 集群,但可以管理自己。hub 集群被配置为自动导入和自助管理。您不需要手动导入 hub 集群。

但是,如果您删除 hub 集群并尝试再次导入它,则需要添加 local-cluster:true 标签。

从以下说明中进行选择以通过控制台或 CLI 设置受管集群:

所需的用户类型或访问权限级别:集群管理员

1.8.1. 使用控制台导入现有集群

安装 Red Hat Advanced Cluster Management for Kubernetes 后,就可以导入集群来进行管理。您可以从控制台和 CLI 导入。按照以下步骤从控制台导入。在此过程中,您需要通过终端来进行身份验证。

1.8.1.1. 先决条件

  • 您需要一个已部署的 Red Hat Advanced Cluster Management for Kubernetes hub 集群。如果要导入裸机集群,则必须在 Red Hat OpenShift Container Platform 版本 4.6 或更高版本上安装了 hub 集群。
  • 您需要一个要管理的集群,以及互联网连接。
  • 安装 kubectl。要安装 kubectl,请参阅 Kubernetes 文档中的安装和设置 kubectl
  • 您需要一个要管理的集群,以及互联网连接。
  • 您需要 base64 命令行工具。
  • 如果您导入不是由 Red Hat OpenShift Container Platform 创建的集群,则需要定义一个 multiclusterhub.spec.imagePullSecret。安装 Red Hat Advanced Cluster Management for Kubernetes 时可能已创建此 secret。如需有关定义 secret 的更多信息,请参阅从 OperatorHub 安装
  • 确保您要导入的集群中已删除代理。open-cluster-management-agentopen-cluster-management-agent-addon 命名空间必须不存在。
  • 要在 Red Hat OpenShift Dedicated 环境中导入,请参考以下内容:

    • 您必须在 Red Hat OpenShift Dedicated 环境中部署了 hub 集群。
    • Red Hat OpenShift Dedicated 的默认权限是 dedicated-admin,但不包含创建命名空间的所有权限。您必须具有 cluster-admin 权限才能使用 Red Hat Advanced Cluster Management for Kubernetes 导入和管理集群。

所需的用户类型或访问权限级别:集群管理员

1.8.1.2. 导入集群

您可以从 Red Hat Advanced Cluster Management for Kubernetes 控制台中为每个可用的云供应商导入现有集群。

注: hub 集群无法管理不同的 hub 集群。hub 集群被设置为自动导入和管理自身,因此您不必手动导入 hub 集群来管理自己。

  1. 在导航菜单中选择 Infrastructure > Clusters
  2. Add a cluster
  3. 点击 Import an existing cluster
  4. 为集群提供名称。默认情况下,命名空间用于集群名称和命名空间。
  5. 可选: 添加任何 附加标签

    注: 如果您导入 Red Hat OpenShift Dedicated 集群,且没有添加 vendor=OpenShiftDedicated 标签指定一个厂商,或者添加了 vendor=auto-detect 标签,则 managed-by=platform 标签会自动添加到集群中。您可以使用此添加标签将集群标识为一个 Red Hat OpenShift Dedicated 集群,并作为一个组来获取 Red Hat OpenShift Dedicated 集群。

  6. 选择您要用来标识从以下选项导入的集群的导入模式

    • 手动运行导入命令:根据您提供的信息生成可复制和运行的导入命令。点 Save import and generate code 生成用于部署 open-cluster-management-agent-addon 的命令。此时会显示确认信息。

      1. Import an existing cluster 窗口中,选择 Copy 命令将生成的命令和令牌复制到剪贴板。

        重要:命令中包含复制到每个导入集群的 pull secret 信息。具有访问导入集群权限的所有用户都可以查看 pull secret 信息。考虑在 https://cloud.redhat.com/ 创建一个二级 pull secret,或创建一个服务帐户来保护个人凭证。如需了解更多与 pull secret 相关的信息,请参阅使用镜像 pull secret了解并创建服务帐户

      2. 登录到您要导入的受管集群。
      3. 对于 Red Hat OpenShift Dedicated 环境,完成以下步骤:

        1. 创建 open-cluster-management-agentopen-cluster-management 命名空间或受管集群上的项目。
        2. 在 OpenShift Container Platform 目录中找到 klusterlet Operator。
        3. open-cluster-management 命名空间中或您创建的项目中安装它。

          重要: 不要在 open-cluster-management-agent 命名空间中安装 Operator。

        4. 通过完成以下步骤,从导入命令中提取 bootstrap secret:

          1. 生成导入命令:

            1. 从 Red Hat Advanced Cluster Management 控制台主导航中选择 Infrastructure > Clusters
            2. 选择 Add a cluster > Import an existing cluster
            3. 添加集群信息,选择 Save import and generate code
          2. 复制导入命令。
          3. 将导入命令粘贴到您创建的名为 import-command 的文件中。
          4. 运行以下命令以将内容插入新文件中:

            cat import-command | awk '{split($0,a,"&&"); print a[3]}' | awk '{split($0,a,"|"); print a[1]}' | sed -e "s/^ echo //" | base64 -d
            Copy to Clipboard Toggle word wrap
          5. 在输出中找到并复制名为 bootstrap-hub-kubeconfig 的 secret。
          6. 将 secret 应用到受管集群上的 open-cluster-management-agent 命名空间。
          7. 使用安装的 Operator 中的示例创建 klusterlet 资源,clusterName 应该与导入过程中设置的集群名称相同。

            注:managedcluster 资源在 hub 中成功注册时,会安装两个 klusterlet operator。一个 klusterlet operator 位于 open-cluster-management 命名空间中,另一个位于 open-cluster-management-agent 命名空间中。多个 operator 并不会影响 klusterlet 的功能。

      4. 对于不在 Red Hat OpenShift Dedicated 环境中的集群导入,请完成以下步骤:

        1. 如有必要,为您的受管集群配置 kubectl 命令。

          请参阅支持的云以了解如何配置 kubectl 命令行界面。

        2. 要将 open-cluster-management-agen-addon 部署到受管集群,请运行您复制的命令和令牌。
      5. 选择 View clusterOverview 页面中查看集群概述。
    • 为现有集群输入服务器 URL 和 API 令牌 :提供您要导入的集群的服务器 URL 和 API 令牌。
    • kubeconfig :复制并粘贴您要导入的集群 kubeconfig 文件的内容。
  7. 可选: 在集群详情页中配置 Cluster API address,它为运行 oc get managedcluster 命令时在表中显示的 URL。

    1. 使用具有 cluster-admin 权限的 ID 登录到 hub 集群。
    2. 为目标受管集群配置 kubectl

      请参阅支持的云了解如何配置 kubectl

    3. 输入以下命令编辑您要导入的集群的受管集群条目:

      oc edit managedcluster <cluster-name>
      Copy to Clipboard Toggle word wrap

      使用受管集群的名称替换 cluster-name

    4. 在 YAML 文件中的 ManagedCluster spec 中添加 ManagedClusterClientConfigs,如下例所示:

      spec:
        hubAcceptsClient: true
        managedClusterClientConfigs:
        - url: https://multicloud-console.apps.new-managed.dev.redhat.com
      Copy to Clipboard Toggle word wrap

      将 URL 值替换为提供对您要导入的受管集群的外部访问的 URL。

集群已导入。您可以选择 Import another 来导入另一个。

1.8.1.3. 删除导入的集群

完成以下步骤以删除导入的集群以及在受管集群上创建的 open-cluster-management-agent-addon

  1. Clusters 页面的表中查找您导入的集群。
  2. Actions > Detach cluster 从管理中删除集群。

注意: 如果您试图分离名为 local-cluster 的 hub 集群,请注意 disableHub selfManagement 的默认设置为 false 。此设置会导致 hub 集群在分离时会重新导入自己并管理自己,并协调 MultiClusterHub 控制器。hub 集群可能需要几小时时间来完成分离过程并重新导入。如果要在等待进程完成后重新导入 hub 集群,您可以输入以下命令来重启 multiclusterhub-operator pod 并更快地重新导入:

oc delete po -n open-cluster-management `oc get pod -n open-cluster-management | grep multiclusterhub-operator| cut -d' ' -f1`
Copy to Clipboard Toggle word wrap

您可以通过将 disableHubSelfManagement 值改为 true 来更改 hub 集群的值,使其不会自动导入。如需更多信息,请参阅 disableHubSelfManagement 主题。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat