1.3. 在控制台简介中搜索


对于 Red Hat Advanced Cluster Management for Kubernetes,搜索功能可让您了解所有集群中的 Kubernetes 资源。搜索也对 Kubernetes 资源以及与其他资源的关系进行索引。

1.3.1. 搜索组件

搜索构架由以下组件组成:

  • search-collector:查看 Kubernetes 资源,收集所有受管集群中资源元数据、计算资源关系,并将收集的数据发送到 search-indexer。受管集群中的 search-collector 作为名为 klusterlet-addon-search 的 pod 运行。
  • search-indexer: 从收集器接收资源元数据并写入 PostgreSQL 数据库。search-indexer 还监视 hub 集群中的资源来跟踪活跃受管集群。
  • search-api:通过 GraphQL 提供 search-indexer 中所有集群数据的访问权限,并强制实施基于角色的访问控制 (RBAC)。
  • search-postgres :将从 PostgreSQL 数据库实例中的所有受管集群收集数据。

在 hub 集群中默认配置搜索。当您置备或手动导入受管集群时,klusterlet-addon-search 会被启用。如果要禁用对受管集群的搜索,请参阅修改集群的 klusterlet 附加设置以了解更多信息。

1.3.2. 搜索自定义和配置

您可以修改 search-v2-operator 自定义资源中的默认值。要查看自定义资源的详情,请运行以下命令:

oc get search search-v2-operator -o yaml

搜索 Operator 会监视 search-v2-operator 自定义资源,协调更改并更新活跃的 pod。查看以下配置描述:

  • PostgreSQL 数据库存储:

    安装 Red Hat Advanced Cluster Management 时,PostgreSQL 数据库被配置为将 PostgreSQL 数据保存在一个空目录 (emptyDir) 卷中。如果空目录大小有限,您可以在持久性卷声明 (PVC) 中保存 PostgreSQL 数据,以提高搜索性能。您可以从 Red Hat Advanced Cluster Management hub 集群中选择一个存储类来备份搜索数据。例如,如果您选择 gp2 存储类,您的配置可能类似以下示例:

    apiVersion: search.open-cluster-management.io/v1alpha1
    kind: Search
    metadata:
      name: search-v2-operator
      namespace: open-cluster-management
      labels:
        cluster.open-cluster-management.io/backup: ""
    spec:
      dbStorage:
        size: 10Gi
        storageClassName: gp2

    此配置会创建一个名为 gp2-search 的 PVC,并挂载到 search-postgres pod。默认情况下,存储大小为 10Gi。您可以修改存储大小。例如,20Gi 可能足以满足大约 200 个受管集群。

  • PostgreSQL 数据库配置:

    PostgreSQL 支持数据库性能优化,以优化您的数据库性能。调优配置可以使用 ConfigMap 指定。此 ConfigMap 包含支持的调优参数的 name-value 对。请参阅以下示例命令使用调优参数创建 ConfigMap:

    oc create configmap tuning-config --from-literal POSTGRESQL_SHARED_BUFFERS=128MB --from-literal POSTGRESQL_EFFECTIVE_CACHE_SIZE=128MB --from-literal WORK_MEM=64MB

    使用前面的 ConfigMap 优化 PostgreSQL 数据库配置。例如,添加 tuning-config 作为参数值:

    apiVersion: search.open-cluster-management.io/v1alpha1
    kind: Search
    metadata:
      name: search-v2-operator
      namespace: open-cluster-management
      labels:
        cluster.open-cluster-management.io/backup: ""
    spec:
      dbConfig: tuning-config
      dbStorage:
      size: 10Gi
      storageClassName: gp2-search
  • 通过调整 pod 内存或 CPU 要求、副本数和更新任何四个搜索 Pod (indexer, database, queryapi, 或 collector pod)的日志级别来优化成本。更新 search-v2-operator 自定义资源的 deployment 部分。search-v2-operator 管理四个部署,它们可以单独更新。您的 search-v2-operator 自定义资源可能类似以下文件:

    apiVersion: search.open-cluster-management.io/v1alpha1
    kind: Search
    metadata:
      name: search-v2-operator
      namespace: open-cluster-management
    spec:
      dbConfig: tuning-config
      deployments:
        collector:
          resources: 1
            limits:
              cpu: 500m
              memory: 128Mi
            requests:
              cpu: 250m
              memory: 64Mi
        indexer:
          replicaCount: 3
        database: {}
        queryapi:
          arguments: 2
          - -v=3
    1
    您可以将资源应用到 indexer, database, queryapi, 或 collector pod。
    2
    您可以通过添加 -v=3 参数来控制前四个 pod 的日志级别详细程度。

    请参阅以下示例,其中内存资源应用到 indexer pod:

        indexer:
          resources:
            limits:
              memory: 5Gi
            requests:
              memory: 1Gi
  • 搜索 pod 的节点放置:

    您可以使用 nodeSelector 参数或 tolerations 参数更新搜索 pod 的放置。查看以下示例配置:

    spec:
     dbStorage:
      size: 10Gi
     deployments:
      collector: {}
      database: {}
      indexer: {}
      queryapi: {}
     nodeSelector:
      node-role.kubernetes.io/infra: ""
     tolerations:
     - effect: NoSchedule
      key: node-role.kubernetes.io/infra
      operator: Exists
  • 有关如何管理搜索的说明,请参阅管理搜索
  • 有关 Red Hat Advanced Cluster Management for Kubernetes 控制台的更多信息,请参阅 Web 控制台
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.