4.6. 使用 Insights Operator
Insights Operator 会定期收集配置和组件故障状态信息,默每两小时向红帽报告这些数据。这些信息可让红帽评估配置,它提供了比 Telemetry 报告更深入的数据。OpenShift Container Platform 用户可以在 Red Hat Hybrid Cloud Console 上的 Insights Advisor 服务中显示报告。
其他资源
- Insights Operator 被默认安装并启用。如果您需要选择不使用远程健康报告,请参阅不使用远程健康报告。
- 有关使用 Insights Advisor 发现集群中的问题的更多信息,请参阅使用 Insights 识别集群中的问题。
4.6.1. 配置 Insights Operator
Insights Operator 配置是默认 Operator 配置的组合,其配置存储在 openshift-insights
命名空间中的 insights-config ConfigMap
对象中,或者在 openshift-config
命名空间中的 support secret 中。
当 ConfigMap
对象或支持 secret 存在时,包含的属性值会覆盖默认的 Operator 配置值。如果 ConfigMap
对象和 support secret 都存在,Operator 会读取 ConfigMap
对象。
ConfigMap
对象默认不存在,因此 OpenShift Container Platform 集群管理员必须创建它。
ConfigMap 对象配置结构
这个 insights-config ConfigMap
对象示例 (config.yaml
配置) 显示使用标准 YAML 格式的配置选项。
可配置属性和默认值
下表描述了可用的配置属性:
insights-config ConfigMap
对象遵循标准 YAML 格式,其中子值位于父属性下,并缩进两个空格。对于 Obfuscation 属性,输入作为父属性的子属性。
属性名称 | 描述 | 值类型 | 默认值 |
---|---|---|---|
| 启用 IP 地址和集群域名的全局模糊处理。 | 布尔值 |
|
| 如果安装了 Deployment Validation Operator,则模糊处理数据。 | 布尔值 |
|
| 指定简单内容访问权利下载的频率。 | 时间间隔 |
|
| 禁用简单内容访问权利下载。 | 布尔值 |
|
| 禁用集群 Prometheus 实例的 Insights Operator 警报。 | 布尔值 |
|
| 为 Insights Operator 设置自定义代理 | URL | 没有默认值 |
4.6.1.1. 创建 insights-config ConfigMap 对象
此流程描述了如何为 Insights Operator 创建 insights-config ConfigMap
对象来设置自定义配置。
红帽建议您在更改默认 Insights Operator 配置前咨询红帽支持。
先决条件
- 启用了远程健康报告(这是默认设置)。
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform Web 控制台。
流程
-
进入 Workloads
ConfigMaps 并选择 Project: openshift-insights。 - 点 Create ConfigMap。
选择 Configure via: YAML view 并输入您的配置首选项,例如
apiVersion: v1 kind: ConfigMap metadata: name: insights-config namespace: openshift-insights data: config.yaml: | dataReporting: obfuscation: - networking - workload_names sca: disable: false interval: 2h alerting: disabled: false binaryData: {} immutable: false
- 可选: 选择 Form view 并输入所需信息。
- 在 ConfigMap Name 字段中输入 insights-config。
- 在 Key 字段中,输入 config.yaml。
- 对于 Value 字段,可以浏览文件以拖放到字段,或者手动输入您的配置参数。
-
点 Create,您可以看到
ConfigMap
对象和配置信息。
4.6.2. 了解 Insights Operator 警报
Insights Operator 通过 Prometheus 监控系统向 Alertmanager 声明警报。您可以使用以下方法之一在 OpenShift Container Platform Web 控制台中的 Alerting UI 中查看这些警报:
-
在 Administrator 视角中,点 Observe
Alerting。 -
在 Developer 视角中,点 Observe
<project_name> Alerts 标签页。
目前,Insights Operator 在满足条件时发送以下警报:
警报 | 描述 |
---|---|
| Insights Operator 被禁用。 |
| Red Hat Subscription Management 中不启用简单的内容访问。 |
| Insights 具有集群的活跃建议。 |
4.6.2.1. 禁用 Insights Operator 警报
要防止 Insights Operator 将警报发送到集群 Prometheus 实例,您可以创建或编辑 insights-config ConfigMap
对象。
在以前的版本中,集群管理员会使用 openshift-config
命名空间中的 support secret 创建或编辑 Insights Operator 配置。Red Hat Insights 现在支持创建 ConfigMap
对象来配置 Operator。如果两者都存在,Operator 会优先选择支持 secret 的配置映射配置。
如果 insights-config ConfigMap
对象不存在,您必须首先添加自定义配置时创建它。请注意,ConfigMap
对象中的配置优先于 config/pod.yaml
文件中定义的默认设置。
先决条件
- 启用了远程健康报告(这是默认设置)。
-
以
cluster-admin
用户身份登录到 OpenShift Container Platform Web 控制台。 -
insights-config
ConfigMap
对象存在于openshift-insights
命名空间中。
流程
-
进入 Workloads
ConfigMaps 并选择 Project: openshift-insights。 -
点 insights-config
ConfigMap
对象打开它。 - 点 Actions 并选择 Edit ConfigMap。
- 点 YAML 视图 单选按钮。
在 文件中,将
alerting
属性设置为disabled: true
。apiVersion: v1 kind: ConfigMap # ... data: config.yaml: | alerting: disabled: true # ...
- 点击 Save。insights-config config-map 详情页面将打开。
-
验证
config.yaml
alerting
属性的值是否已设置为disabled: true
。
保存更改后,Insights Operator 不再将警报发送到集群 Prometheus 实例。
4.6.2.2. 启用 Insights Operator 警报
禁用警报时,Insights Operator 不再将警报发送到集群 Prometheus 实例。您可以重新启用它们。
在以前的版本中,集群管理员会使用 openshift-config
命名空间中的 support secret 创建或编辑 Insights Operator 配置。Red Hat Insights 现在支持创建 ConfigMap
对象来配置 Operator。如果两者都存在,Operator 会优先选择支持 secret 的配置映射配置。
先决条件
- 启用了远程健康报告(这是默认设置)。
-
以
cluster-admin
用户身份登录到 OpenShift Container Platform Web 控制台。 -
insights-config
ConfigMap
对象存在于openshift-insights
命名空间中。
流程
-
进入 Workloads
ConfigMaps 并选择 Project: openshift-insights。 -
点 insights-config
ConfigMap
对象打开它。 - 点 Actions 并选择 Edit ConfigMap。
- 点 YAML 视图 单选按钮。
在文件中,将
alerting
属性设置为disabled: false
。apiVersion: v1 kind: ConfigMap # ... data: config.yaml: | alerting: disabled: false # ...
- 点击 Save。insights-config config-map 详情页面将打开。
-
验证
config.yaml
alerting
属性的值是否已设置为disabled: false
。
保存更改后,Insights Operator 会再次向集群 Prometheus 实例发送警报。
4.6.3. 下载 Insights Operator 存档
Insights Operator 将收集的数据存储在集群的 openshift-insights
命名空间中的存档中。您可以下载并查看 Insights Operator 收集的数据。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。
流程
为 Insights Operator 查找正在运行的 pod 的名称:
$ oc get pods --namespace=openshift-insights -o custom-columns=:metadata.name --no-headers --field-selector=status.phase=Running
复制 Insights Operator 收集的最近数据存档:
$ oc cp openshift-insights/<insights_operator_pod_name>:/var/lib/insights-operator ./insights-data 1
- 1
- 将
<insights_operator_pod_name>
替换为上一命令中的 pod 名称输出。
Insights Operator 最近存档可在 insights-data
目录中找到。
4.6.4. 运行 Insights Operator 收集操作
您可以根据需要运行 Insights Operator 数据收集操作。以下流程描述了如何使用 OpenShift Web 控制台或 CLI 运行默认收集操作列表。您可以自定义 on demand gather 功能,以排除您选择的任何收集操作。禁用从默认列表中的收集操作降级 Insights Advisor 的功能,为集群提供有效的建议。如果您之前禁用了集群中的 Insights Operator 收集操作,这个过程将覆盖这些参数。
DataGather
自定义资源只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
如果在集群中启用了技术预览,Insights Operator 会在单个 pod 中运行收集操作。这是 Insights Operator 的技术预览功能集的一部分,并支持新的数据收集功能。
4.6.4.1. 查看 Insights Operator 收集持续时间
您可以查看 Insights Operator 收集存档中包含的信息所使用的时间。这有助于您了解 Insights Operator 资源使用情况和 Insights Advisor 的问题。
先决条件
- Insights Operator 归档的最新副本。
流程
在归档中,打开
/insights-operator/gathers.json
。文件包含 Insights Operator 收集操作列表:
{ "name": "clusterconfig/authentication", "duration_in_ms": 730, 1 "records_count": 1, "errors": null, "panic": null }
- 1
duration_in_ms
是每个收集操作的时间(毫秒)。
- 检查每个收集操作是否有异常情况。
4.6.4.2. 从 Web 控制台运行 Insights Operator 收集操作
要收集数据,您可以使用 OpenShift Container Platform Web 控制台运行 Insights Operator 收集操作。
先决条件
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform Web 控制台。
流程
-
在控制台中,选择 Administration
CustomResourceDefinitions。 - 在 CustomResourceDefinitions 页上,在 Search by name 字段中查找 DataGather 资源定义,然后点它。
-
在控制台中,选择 Administration
CustomResourceDefinitions。 - 在 CustomResourceDefinitions 页上,在 Search by name 字段中查找 DataGather 资源定义,然后点它。
- 在 CustomResourceDefinition 详情页面,点 Instances 选项卡。
- 点 Create DataGather。
要创建新的
DataGather
操作,请编辑以下配置文件,然后保存您的更改。apiVersion: insights.openshift.io/v1alpha1 kind: DataGather metadata: name: <your_data_gather> 1 spec: gatherers: 2 - name: workloads state: Disabled
不要将 periodic-gathering-
前缀添加到收集操作的名称中,因为此字符串是为其他管理操作保留的,并可能会影响预期的收集操作。
验证
-
在控制台中,选择 Workloads
Pods。 - 在 Pods 页上,进入 Project 下拉菜单,然后选择 Show default projects。
-
从 Project 下拉菜单中选择
openshift-insights
项目。 -
在控制台中,选择 Workloads
Pods。 - 在 Pods 页上,进入 Project 下拉菜单,然后选择 Show default projects。
-
从 Project 下拉菜单中选择
openshift-insights
项目。 -
检查您的新收集操作是否已带有您在
openshift-insights
项目中的 pod 列表下选择的名称作为前缀。完成后,Insights Operator 会自动将数据上传到红帽进行处理。
4.6.4.3. 通过 OpenShift CLI 运行 Insights Operator 收集操作
您可以使用 OpenShift Container Platform 命令行界面运行 Insights Operator 收集操作。
先决条件
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform。
流程
输入以下命令运行 gather 操作:
$ oc apply -f <your_datagather_definition>.yaml
将
<your_datagather_definition>.yaml
替换为包含以下参数的配置文件:apiVersion: insights.openshift.io/v1alpha1 kind: DataGather metadata: name: <your_data_gather> 1 spec: gatherers: 2 - name: workloads state: Disabled
不要将 periodic-gathering-
前缀添加到收集操作的名称中,因为此字符串是为其他管理操作保留的,并可能会影响预期的收集操作。
验证
-
检查您的新收集操作是否已带有您在
openshift-insights
项目中的 pod 列表下选择的名称作为前缀。完成后,Insights Operator 会自动将数据上传到红帽进行处理。
4.6.4.4. 禁用 Insights Operator 收集操作
您可以禁用 Insights Operator 收集操作。禁用收集操作可让您提高机构的隐私,因为 Insights Operator 不再收集并向红帽发送 Insights 集群报告。这将禁用集群的 Insights 分析和建议,而不影响需要与红帽(如集群传输)进行通信的其他核心功能。您可以从 Insights Operator 归档中的 /insights-operator/gathers.json
文件中查看集群收集操作的尝试列表。请注意,只有满足特定条件且没有出现在您最近的归档中时,才会进行一些收集操作。
InsightsDataGather
自定义资源只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
如果在集群中启用了技术预览,Insights Operator 会在单个 pod 中运行收集操作。这是 Insights Operator 的技术预览功能集的一部分,并支持新的数据收集功能。
先决条件
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform Web 控制台。
流程
-
进入到 Administration
CustomResourceDefinitions。 - 在 CustomResourceDefinitions 页面上,使用 Search by name 字段来查找 InsightsDataGather 资源定义并点它。
- 在 CustomResourceDefinition 详情页面,点 Instances 选项卡。
- 点 cluster,然后点 YAML 选项卡。
通过对
InsightsDataGather
配置文件执行以下编辑之一来禁用收集操作:要禁用所有收集操作,请在
disabledGatherers
键下输入all
:apiVersion: config.openshift.io/v1alpha1 kind: InsightsDataGather metadata: .... spec: 1 gatherConfig: disabledGatherers: - all 2
要禁用单个收集操作,请在
disabledGatherers
键下输入它们的值:spec: gatherConfig: disabledGatherers: - clusterconfig/container_images 1 - clusterconfig/host_subnets - workloads/workload_info
- 1
- 单个收集操作示例
点击 Save。
保存更改后,Insights Operator 收集配置会更新,操作将不再发生。
禁用收集操作降级 Insights Advisor 的功能,可为您的集群提供有效的建议。
4.6.4.5. 启用 Insights Operator 收集操作
如果禁用了收集操作,您可以启用 Insights Operator 收集操作。
InsightsDataGather
自定义资源只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
先决条件
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform Web 控制台。
流程
-
进入到 Administration
CustomResourceDefinitions。 - 在 CustomResourceDefinitions 页面上,使用 Search by name 字段来查找 InsightsDataGather 资源定义并点它。
- 在 CustomResourceDefinition 详情页面,点 Instances 选项卡。
- 点 cluster,然后点 YAML 选项卡。
通过执行以下编辑之一来启用收集操作:
要启用所有禁用的收集操作,请删除
gatherConfig
小节:apiVersion: config.openshift.io/v1alpha1 kind: InsightsDataGather metadata: .... spec: gatherConfig: 1 disabledGatherers: all
- 1
- 删除
gatherConfig
小节以启用所有收集操作。
要启用单个收集操作,请删除
disabledGatherers
键下的值:spec: gatherConfig: disabledGatherers: - clusterconfig/container_images 1 - clusterconfig/host_subnets - workloads/workload_info
- 1
- 删除一个或多个收集操作。
点击 Save。
保存更改后,Insights Operator 收集配置将更新,受影响的收集操作启动。
禁用收集操作降级 Insights Advisor 的功能,可为您的集群提供有效的建议。
4.6.5. 模糊处理 Deployment Validation Operator 数据
如果已安装 Operator,集群管理员可以将 Insight Operator 配置为模糊来自 Deployment Validation Operator (DVO) 的数据。当 workload_names
值添加到 insights-config ConfigMap
对象中时,工作负载名称比 Openshift 的 Insights 中显示的 workload name-rather 会显示,从而使它们更适合集群管理员。
先决条件
- 启用了远程健康报告(这是默认设置)。
- 使用 "cluster-admin" 角色登录到 OpenShift Container Platform Web 控制台。
-
insights-config
ConfigMap
对象存在于openshift-insights
命名空间中。 - 集群被自我管理,并安装了 Deployment Validation Operator。
流程
-
进入 Workloads
ConfigMaps 并选择 Project: openshift-insights。 -
点 insights-config
ConfigMap
对象打开它。 - 点 Actions 并选择 Edit ConfigMap。
- 点 YAML 视图 单选按钮。
在文件中,使用
workload_names
值设置obfuscation
属性。apiVersion: v1 kind: ConfigMap # ... data: config.yaml: | dataReporting: obfuscation: - workload_names # ...
- 点击 Save。insights-config config-map 详情页面将打开。
-
验证
config.yaml
obfuscation
属性的值是否已设置为- workload_names
。