1.3. 在控制台中搜索


对于 Red Hat Advanced Cluster Management for Kubernetes,搜索功能可让您了解所有集群中的 Kubernetes 资源。搜索对 Kubernetes 资源以及与其他资源的关系进行索引。如果要更改存储类和存储大小,您可以创建 searchcustomization 自定义资源来定义搜索持久性的存储设置。

1.3.1. 搜索组件

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

  • Collector :查看 Kubernetes 资源并创建索引。search-collector 计算受管集群中资源的关系。
  • Aggregator:从收集器接收数据并将数据写入数据库。search-aggregator 会监视 hub 集群中的资源,计算多集群关系,并从连接的收集器跟踪活动。
  • Search API:提供对搜索索引中数据的访问权限,并强制实施基于角色的访问控制。

搜索功能默认为启用。当您置备或手动导入受管集群时,也会启用搜索。如果要禁用对受管集群的搜索,请参阅修改集群的 klusterlet 附加设置以了解更多信息。

1.3.2. 搜索自定义

在安装 Red Hat Advanced Cluster Management 时,产品被配置为将数据持久保存到文件系统中。StatefulSet search-redisgraph 部署 Redisgraph pod,它会挂载名为 persist 的持久性卷。如果您的集群有一个定义的默认存储类,搜索组件会在默认存储类上创建一个 10Gi 的持久性卷声明(PVC)。如果集群中不存在默认存储类,搜索会在一个空目录中(emptyDir)中保存索引。

您可以通过创建 searchcustomization 自定义资源来自定义用于搜索的存储设置。搜索自定义是命名空间范围的,位于 hub 集群中安装搜索的位置。查看以下搜索自定义资源示例:

apiVersion: search.open-cluster-management.io/v1alpha1
kind: SearchCustomization
metadata:
  name: searchcustomization
  namespace: open-cluster-management
  labels:
    cluster.open-cluster-management.io/backup: ""
spec:
  persistence: true
  storageClass: gp2
  storageSize: 12Gi
Copy to Clipboard Toggle word wrap

运行以下命令来查看搜索自定义资源定义:

oc get crd searchcustomizations.search.open-cluster-management.io -o yaml
Copy to Clipboard Toggle word wrap

您可以通过在自定义 CR 中将 persistence 标签更新为 false 来禁用持久性,这会关闭将搜索索引保存到文件系统。持久性的状态可以从搜索运算符 (searchoperator) 自定义资源中检索。运行以下命令来查看搜索 operator 自定义资源: oc get searchoperator searchoperator -o yaml

1.3.2.1. 增加 redisgraph 内存的选项

redisgraph 是一个内存数据库,在缓存对象数量时需要线性增长内存。具有许多受管集群的 Red Hat Advanced Cluster Management 集群,或者有大量 Kubernetes 对象的 Red Hat Advanced Cluster Management 集群需要限制 redisgraph pod(search-redisgraph-0)的软件更新。

默认情况下,redisgraph pod(search-redisgraph-0)部署的内存限值为 4Gi。如果要管理较大的集群,可能需要通过编辑 hub 集群命名空间中 searchoperatorredisgraph_resource.limit_memory 来增加这个限值。例如,您可以使用以下命令将限制更新为 8Gi

oc patch searchoperator searchoperator --type='merge' -p '{"spec":{"redisgraph_resource":{"limit_memory":"8Gi"}}}'
Copy to Clipboard Toggle word wrap

进行更改后,search-redisgraph pod 会自动使用更新的配置重启。

1.3.2.2. 更新保存的搜索限制

默认情况下,每个用户可以保存的搜索数量被限制为 10 个。只有具有 administrator 角色的用户可以通过向 console-config ConfigMap 添加以下键值来更新限制: key:value: SAVED_SEARCH_LIMIT: x

1.3.3. 在控制台中查询

您可以在 搜索框中 输入任何文字,结果会包括带有这个值的任何属性(如名称或命名空间)。用户无法搜索包含空空格的值。

如需更具体的搜索结果,请在搜索中包含属性。您可以组合相关的属性值来更精确地进行搜索。例如,搜索 cluster:dev red 以接收与 dev 集群中字符串"red" 匹配的结果。

查看以下步骤以使用搜索进行查询:

  1. 在导航菜单中点击 Search
  2. 搜索框中输入要搜索的内容,搜索功能会查找包含该值的资源。

    • 当搜索资源时,会收到与原始搜索结果关联的其他资源。这可帮助您了解这些资源如何与系统中的其他资源进行交互。
    • 搜索返回并列出带有搜索资源的集群。对于 hub 集群中的资源,集群名称会显示为 local-cluster
    • 您的搜索结果按 kind 分组,每个资源 kind 在一个表格中分组。
    • 您的搜索选项依赖于集群对象。您可以使用特定标签重新定义结果。在查询标签时,搜索是区分大小写的。请参见以下示例: name、namespace、status 和其他资源字段。Auto-complete 提供了重新定义搜索的建议。请参见以下示例:
    • 搜索单个字段,如 kind:pod 以查找所有 pod 资源。
    • 搜索多个字段,如 kind:pod namespace:default 以在默认命名空间中查找 pod。

      备注:

      • 您还可以使用字符(如 >, >=, <, <=, !=)为搜索添加条件。
      • 当使用多个属性值进行搜索时,会返回满足任何一个搜索值的结果。请参见以下示例:

        • 例如,当搜索 kind:pod name:a 时,任何名为 a 的 pod 都会被返回。
        • 当搜索 kind:pod name:a,b 时,任何名为 ab 的 pod 都会被返回。
        • 搜索 kind:pod status:!Running 以查找所有状态不是 Running 的 pod 资源。
        • 搜索 kind:pod restarts:>1 以查找重启至少两次的所有 pod。
    • 默认情况下,搜索下拉菜单中有 2500 个镜像的限制。要增加镜像限制,您可以通过添加 defaultImageQueryLimit 环境变量来编辑 search-api 部署。您可以使用 search 来查找部署。查看以下示例:

      name: defaultImageQueryLimit
       value: x 
      1
      Copy to Clipboard Toggle word wrap
      1
      x 代表您要从搜索下拉菜单中选择的镜像数量。
      • 另外,您可以使用以下命令修补部署:

        oc patch deployment search-api -n open-cluster-management -p '{"spec": {"template": {"spec": {"containers": [{"name": "search-api","env": [{"name": "defaultImageQueryLimit","value": "X"}]}]}}}}'
        Copy to Clipboard Toggle word wrap
  3. 如果要保存搜索,请点击 Save search 图标。

1.3.3.1. 查询 ArgoCD 应用程序

当搜索 ArgoCD 应用程序时,您会被定向到 Applications 页面。完成以下步骤,从 Search 页面访问 ArgoCD 应用程序:

  1. 登录到您的 Red Hat Advanced Cluster Management hub 集群。
  2. 在控制台标头中选择搜索图标。
  3. 使用以下值过滤查询: kind:applicationapigroup:argoproj.io
  4. 选择要查看的应用程序。Application 页面中显示应用的信息的概览。

要从受管集群收集 Kubernetes 对象,klusterlet-addon-search pod 在启用了搜索的所有受管集群中运行。此部署在 open-cluster-management-agent-addon 命名空间中运行。具有大量资源的受管集群可能需要更多内存才能使 klusterlet-addon-search 部署正常工作。

受管集群中的 klusterlet-addon-search pod 的资源要求可在 Red Hat Advanced Cluster Management hub 集群的 ManagedClusterAddon 自定义资源中指定。每个带有受管集群名称的受管集群都有一个命名空间。从与受管集群名称匹配的命名空间中编辑 ManagedClusterAddon 自定义资源。运行以下命令以更新 xyz 受管集群中的资源要求:

oc edit managedclusteraddon search-collector -n xyz
Copy to Clipboard Toggle word wrap

将资源要求作为注解附加。查看以下示例:

apiVersion: addon.open-cluster-management.io/v1alpha1
kind: ManagedClusterAddOn
metadata:
  annotations: addon.open-cluster-management.io/search_memory_limit: 2048Mi
  addon.open-cluster-management.io/search_memory_request: 512Mi
Copy to Clipboard Toggle word wrap

该注解会覆盖受管集群上的资源要求,并使用新资源要求自动重启 pod。

参阅Web 控制台来了解与 Hat Advanced Cluster Management for Kubernetes 控制台相关的信息。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat