5.4. 管理搜索
使用 search 从集群中查询资源数据。
需要的访问权限:集群管理员
继续阅读以下主题:
5.4.1. 创建搜索可配置的集合 复制链接链接已复制到粘贴板!
通过列出 allow 和 deny list 部分中的资源,创建 search-collector-config ConfigMap 以定义从集群中收集哪些 Kubernetes 资源。列出 ConfigMap 中的 data.AllowedResources 和 data.DeniedResources 部分中的资源。运行以下命令来创建资源:
oc apply -f yourconfigMapFile.yaml
oc apply -f yourconfigMapFile.yaml
ConfigMap 可能类似以下 YAML 文件:
以上 ConfigMap 示例允许从所有 apiGroups 收集服务和 pod,同时允许从 admission.k8s.io 和 authentication.k8s.io apiGroups 收集所有资源。同时,ConfigMap 示例还阻止所有 apiGroups 的 secret 集合,同时防止来自 apiGroup admission.k8s.io 的 policies, iampolicies, and certificatepolicies 的集合。
注:如果您不提供 ConfigMap,则默认收集所有资源。如果您只提供 AllowedResources,则 AllowedResources 中未列出的所有资源都会被自动排除。同时 AllowedResources 和 DeniedResources 中列出的资源也会被排除。
5.4.2. 自定义搜索控制台 复制链接链接已复制到粘贴板!
您可以从 OpenShift Container Platform 控制台自定义搜索结果限制。更新 multicluster-engine 命名空间中的 console-mce-config。这些设置适用于所有用户,并可能会影响性能。查看以下性能参数描述:
-
SAVED_SEARCH_LIMIT- 每个用户保存的最大搜索量。默认情况下,每个用户可以保存的搜索数量被限制为 10 个。默认值为10。要更新限制,请在console-configConfigMap 中添加以下键值:SAVED_SEARCH_LIMIT: x. -
SEARCH_RESULT_LIMIT- 控制台中显示的最大搜索结果量。默认值为1000。要删除此限制,请将设为-1。 -
SEARCH_AUTOCOMPLETE_LIMIT- 为搜索栏 typeahead 检索的最大建议数。默认值为10,000。要删除此限制,请将设为-1。
从 OpenShift Container Platform 控制台运行以下 patch 命令,将搜索结果改为 100 个项目:
oc patch configmap console-mce-config -n multicluster-engine --type merge -p '{"data":{"SEARCH_RESULT_LIMIT":"100"}}'
oc patch configmap console-mce-config -n multicluster-engine --type merge -p '{"data":{"SEARCH_RESULT_LIMIT":"100"}}'
5.4.3. 在控制台中查询 复制链接链接已复制到粘贴板!
您可以在 搜索框中 输入任何文字,结果会包括带有这个值的任何属性(如名称或命名空间)。用户无法搜索包含空空格的值。
如需更具体的搜索结果,请在搜索中包含属性。您可以组合属性的相关值以获取更精确的搜索范围。例如,搜索 cluster:dev red 以接收与 dev 集群中字符串"red" 匹配的结果。
完成以下步骤,使用搜索进行查询:
- 在导航菜单中点击 Search。
在搜索框中输入要搜索的内容,搜索功能会查找包含该值的资源。
- 当搜索资源时,会收到与原始搜索结果关联的其他资源。这可帮助您了解这些资源如何与系统中的其他资源进行交互。
- 搜索返回并列出带有搜索资源的集群。对于 hub 集群中的资源,集群名称会显示为 local-cluster。
-
您的搜索结果按
kind分组,每个资源kind在一个表格中分组。 - 您的搜索选项依赖于集群对象。
-
您可以使用特定标签重新定义结果。在查询标签时,搜索是区分大小写的。请参见以下示例,您可以选择过滤:
名称、命名空间、状态和其他资源字段。Auto-complete 提供了重新定义搜索的建议。请参见以下示例: -
搜索单个字段,如
kind:pod以查找所有 pod 资源。 搜索多个字段,如
kind:pod namespace:default以在默认命名空间中查找 pod。备注:
-
您还可以使用字符(如
>, >=, <, <=, !=)为搜索添加条件。 - 当使用多个属性值进行搜索时,会返回满足任何一个搜索值的结果。请参见以下示例:
-
例如,当搜索
kind:pod name:a时,任何名为a的 pod 都会被返回。 -
当搜索
kind:pod name:a,b时,任何名为a或b的 pod 都会被返回。 -
搜索
kind:pod status:!Running以查找所有状态不是Running的 pod 资源。 -
搜索
kind:pod restarts:>1以查找重启至少两次的所有 pod。
-
您还可以使用字符(如
- 如果要保存搜索,请点击 Save search 图标。
5.4.3.1. 查询 ArgoCD 应用程序 复制链接链接已复制到粘贴板!
当搜索 ArgoCD 应用程序时,您会被定向到 Applications 页面。完成以下步骤,从 Search 页面访问 ArgoCD 应用程序:
- 登录到您的 Red Hat Advanced Cluster Management hub 集群。
- 在控制台标头中选择搜索图标。
-
使用以下值过滤查询:
kind:application和apigroup:argoproj.io。 - 选择要查看的应用程序。Application 页面中显示应用的信息的概览。
5.4.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
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
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。
返回到 Observing 环境简介。