1.8. 发现服务简介


您可以发现 OpenShift Cluster Manager 中的 OpenShift 4 集群。发现后,您可以导入集群进行管理。发现服务使用 Discover Operator 进行后端和控制台使用。

您必须具有 OpenShift Cluster Manager 凭据。如果需要 创建凭证,请参阅为 Red Hat OpenShift Cluster Manager 创建凭证。

需要的访问权限:Administrator

1.8.1. 使用控制台配置发现

在控制台中配置 Discovery 以查找集群。在集群中配置 Discovery 功能时,您必须启用 DiscoveryConfig 资源来连接到 OpenShift Cluster Manager,以开始发现属于您的机构的集群。您可以使用单独的凭证创建多个 DiscoveryConfig 资源。

发现集群后,您可以导入控制台的 Discovered clusters 选项卡中出现的集群。使用产品控制台启用发现。

需要的访问权限:访问创建凭证的命名空间。

1.8.1.1. 先决条件

1.8.1.2. 从控制台导入发现的集群

要手动导入其他基础架构供应商发现的集群,请完成以下步骤:

  1. 进入现有的 Clusters 页面,点 Discovered clusters 选项卡。
  2. 发现的集群表中找到您要导入的集群。
  3. 在选项菜单中选择 Import cluster
  4. 对于发现的集群,您可以使用文档手动导入,或者您可以自动选择导入集群。
  5. 要使用凭证或 Kubeconfig 文件自动导入,请复制并粘贴内容。
  6. Import

1.8.1.3. 查看发现的集群

在设置凭证并发现集群以导入后,您可以在控制台中查看它们。

  1. Clusters > Discovered cluster
  2. 使用以下信息查看填充的表:

    • Name 是 OpenShift Cluster Manager 中指定的显示名称。如果集群没有显示名称,则会显示基于集群控制台 URL 生成的名称。如果 OpenShift Cluster Manager 缺少控制台URL,或手动修改了控制台 URL,则会显示集群外部 ID。
    • Namespace 是您创建凭证和发现集群的命名空间。
    • Type 是发现的集群 Red Hat OpenShift 类型。
    • Distribution version 是发现的集群 Red Hat OpenShift 版本。
    • 基础架构供应商是已发现集群的云供应商。
    • 最后活跃是发现的集群最后一次活跃的时间。
    • 当发现的集群被创建时为 Created
    • 当发现的集群被发现时为 Discovered
  3. 您还可以搜索表中的任何信息。例如,要只显示特定命名空间中的发现集群,请搜索该命名空间。
  4. 现在,您可以点 Import cluster 创建受管集群。

1.8.2. 使用 CLI 启用发现

使用 CLI 启用发现以查找 Red Hat OpenShift Cluster Manager 可用的集群。

需要的访问权限:Administrator

1.8.2.1. 先决条件

  • 创建用于连接到 Red Hat OpenShift Cluster Manager 的凭证。

1.8.2.2. 发现设置和进程

注: DiscoveryConfig 必须命名为 discovery,且必须与所选凭证在同一命名空间中创建。请参见以下 DiscoveryConfig 示例:

apiVersion: discovery.open-cluster-management.io/v1
kind: DiscoveryConfig
metadata:
  name: discovery
  namespace: <NAMESPACE_NAME>
spec:
  credential: <SECRET_NAME>
  filters:
    lastActive: 7
    openshiftVersions:
    - "4.15"
  1. SECRET_NAME 替换为之前设置的凭证。
  2. NAMESPACE_NAME 替换为 SECRET_NAME 的命名空间。
  3. 输入集群最后一次活动(以天为单位)进行发现的最大时间。例如,带有 lastActive: 7 的集群,最后 7 天内活跃的集群会被发现。
  4. 输入要作为字符串列表发现的 Red Hat OpenShift 集群的版本。注: openshiftVersions 列表中的每个条目都指定了一个 OpenShift 主版本和次版本。例如,指定 "4.11" 将包括 OpenShift 版本 4.11 的所有补丁版本,如 4.11.14.11.2

1.8.2.3. 查看发现的集群

通过运行 oc get discoveredclusters -n <namespace>(其中 namespace 是发现凭证存在的命名空间)来查看发现的集群。

1.8.2.3.1. DiscoveredClusters

对象由 Discovery 控制器创建。这些 DiscoveredClusters 使用在 DiscoveryConfig discoveredclusters.discovery.open-cluster-management.io API 中指定的过滤器和凭证来代表 OpenShift Cluster Manager 中找到的集群。name 的值是集群外部 ID:

apiVersion: discovery.open-cluster-management.io/v1
kind: DiscoveredCluster
metadata:
  name: fd51aafa-95a8-41f7-a992-6fb95eed3c8e
  namespace: <NAMESPACE_NAME>
spec:
  activity_timestamp: "2021-04-19T21:06:14Z"
  cloudProvider: vsphere
  console: https://console-openshift-console.apps.qe1-vmware-pkt.dev02.red-chesterfield.com
  creation_timestamp: "2021-04-19T16:29:53Z"
  credential:
    apiVersion: v1
    kind: Secret
    name: <SECRET_NAME>
    namespace: <NAMESPACE_NAME>
  display_name: qe1-vmware-pkt.dev02.red-chesterfield.com
  name: fd51aafa-95a8-41f7-a992-6fb95eed3c8e
  openshiftVersion: 4.15
  status: Stale

1.8.3. 为管理启用发现的集群

使用 Discovery-Operator 自动将支持的集群导入到 hub 集群,以便更快地管理集群,而无需手动导入单个集群。

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

1.8.3.1. 先决条件

1.8.3.2. 在 AWS 和托管的 control plane 集群上自动导入发现的 OpenShift Service

以下流程是如何使用 Discovery-Operator 自动导入发现的 OpenShift Service on AWS 和托管 control plane 集群的示例。

1.8.3.2.1. 从控制台导入

要自动导入 DiscoveredCluster 资源,您必须修改资源,并在控制台中将 importAsManagedCluster 字段设置为 true。请参见以下步骤:

  1. 从控制台登录到您的 hub 集群。
  2. 从导航菜单中选择 Search
  3. 在搜索栏中输入以下查询:"DiscoveredCluster"。
  4. 此时会出现 DiscoveredCluster 资源结果。
  5. 进入 DiscoveredCluster 资源,并将 importAsManagedCluster 设置为 true。请参阅以下示例,其中 importAsManagedCluster 设置为 true,<4. x.z> 是支持的 OpenShift Container Platform 版本:

    apiVersion: discovery.open-cluster-management.io/v1
    kind: DiscoveredCluster
    metadata:
      name: 28c17977-fc73-4050-b5cc-a5aa2d1d6892
      namespace: discovery
    spec:
      openshiftVersion: <4.x.z>
      isManagedCluster: false
      cloudProvider: aws
      name: 28c17977-fc73-4050-b5cc-a5aa2d1d6892
      displayName: rosa-dc
      status: Active
      importAsManagedCluster: true 1
      type: <supported-type> 2
    1
    通过将字段设置为 trueDiscovery-Operator 会导入 DiscoveredCluster 资源,创建一个 ManagedCluster 资源,如果安装了 Red Hat Advanced Cluster Management,则创建 KlusterletAddOnConfig 资源。它还会为自动导入创建 Secret 资源。
    2
    您必须使用 ROSAMultiClusterEngineHCP 作为参数值。
  6. 要验证 DiscoveredCluster 资源是否已导入,请转至 Clusters 页面。从 Cluster list 选项卡检查集群的导入状态。
  7. 如果要分离用于发现的受管集群以防止自动重新导入,请选择 Detach cluster 选项。Discovery-Operator 添加以下注解 discovery.open-cluster-management.io/previously-auto-imported: 'true'

    您的 DiscoveredCluster 资源可能类似以下 YAML:

    apiVersion: discovery.open-cluster-management.io/v1
    kind: DiscoveredCluster
    metadata:
      annotations:
        discovery.open-cluster-management.io/previously-auto-imported: 'true'
  8. 要验证 DiscoveredCluster 资源是否没有被自动导入,请在 Discovery-Operator 日志中检查以下消息,其中 "rosa-dc" 是这个发现的集群:

    2024-06-12T14:11:43.366Z INFO reconcile	Skipped automatic import for DiscoveredCluster due to
    existing 'discovery.open-cluster-management.io/previously-auto-imported' annotation {"Name": "rosa-dc"}
  9. 如果要自动重新导入 DiscoveredCluster 资源,您必须删除前面提到的注解。
1.8.3.2.2. 使用命令行界面导入

要从命令行自动导入 DiscoveredCluster 资源,请完成以下步骤:

  1. 要自动导入 DiscoveredCluster 资源,请在登录后使用以下命令将 importAsManagedCluster paramater 设置为 true。将 & lt;name& gt ; 和 <namespace > 替换为您的名称和命名空间:

    oc patch discoveredcluster <name> -n <namespace> --type='json' -p='[{"op": "replace", "path": "/spec/importAsManagedCluster", "value": true}]'
  2. 运行以下命令验证集群是否已作为受管集群导入:

    oc get managedcluster <name>
  3. 要获取 OpenShift Service on AWS 集群 ID 的描述,请从 OpenShift Service on AWS 命令行界面运行以下命令:

    rosa describe cluster --cluster=<cluster-name> | grep -o '^ID:.*

对于其他 Kubernetes 供应商,您必须手动导入这些基础架构供应商 DiscoveredCluster 资源。将 Kubernetes 配置直接应用到其他类型的 DiscoveredCluster 资源。如果从 DiscoveredCluster 资源启用 importAsManagedCluster 字段,则不会因为 Discovery Webhook 导入它。

1.8.3.3. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.