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

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

oc get crd searchcustomizations.search.open-cluster-management.io -o yaml

您可以通过在自定义 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"}}}'

进行更改后,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
      1
      x 代表您要从搜索下拉菜单中选择的镜像数量。
      • 另外,您可以使用以下命令修补部署:

        oc patch deployment search-api -n open-cluster-management -p '{"spec": {"template": {"spec": {"containers": [{"name": "search-api","env": [{"name": "defaultImageQueryLimit","value": "X"}]}]}}}}'
  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 页面中显示应用的信息的概览。

1.3.4. 更新受管集群中的 klusterlet-addon-search 部署

要从受管集群收集 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

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

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

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

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.