第 3 章 为用户定义的项目启用监控
在 OpenShift Container Platform 4.7 中,除了默认的平台监控外,您还可以为用户定义的项目启用监控。现在,您可以监控 OpenShift Container Platform 中的自己的项目,而无需额外的监控解决方案。使用这个新功能可以集中监控核心平台组件和用户定义的项目。
使用 Operator Lifecycle Manager (OLM)安装的 Prometheus Operator 版本与用户定义的监控不兼容。因此,OpenShift Container Platform 不支持作为由 OLM Prometheus Operator 管理的 Prometheus 自定义资源(CR)安装的自定义 Prometheus 实例。
3.1. 为用户定义的项目启用监控
集群管理员可以通过在集群监控 ConfigMap
中设置 enableUserWorkload: true
字段来为用户定义的项目启用监控。
在 OpenShift Container Platform 4.7 中,要为用户定义的项目启用监控,您必须先删除任何自定义 Prometheus 实例。
您必须可以使用具有 cluster-admin
角色的用户访问集群,才能在 OpenShift Container Platform 中为用户定义的项目启用监控。然后,集群管理员可以选择性地授予用户权限来配置负责监控用户定义的项目的组件。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。 -
您已创建
cluster-monitoring-config
ConfigMap
对象。 您已选择性地创建并配置
openshift-user-workload-monitoring
项目中的user-workload-monitoring-config
ConfigMap
。您可以在该ConfigMap
中为监控用户定义的项目的组件添加配置选项。注意每次您将配置更改保存到
user-workload-monitoring-config
ConfigMap
时,都会重新部署openshift-user-workload-monitoring
项目中的 Pod。有时重新部署这些组件需要花费一段时间。在首次为用户定义的项目启用监控前,您可以创建和配置ConfigMap
,以防止经常重新部署 Pod。
流程
编辑
cluster-monitoring-config
ConfigMap
对象:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
将
enableUserWorkload: true
添加到data/config.yaml
下:apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | enableUserWorkload: true 1
- 1
- 当设置为
true
时,enableUserWorkload
参数为集群中用户定义的项目启用监控。
保存文件以使改变生效。然后会自动启用对用户定义的项目的监控。
警告将更改保存到
cluster-monitoring-config
ConfigMap
对象时,可能会重新部署openshift-monitoring
项目中的 Pod 和其他资源。该项目中正在运行的监控进程也可能被重启。检查
prometheus-operator
、prometheus-user-workload
和thanos-ruler-user-workload
Pod 是否在openshift-user-workload-monitoring
项目中运行。Pod 启动可能需要片刻时间:$ oc -n openshift-user-workload-monitoring get pod
输出示例
NAME READY STATUS RESTARTS AGE prometheus-operator-6f7b748d5b-t7nbg 2/2 Running 0 3h prometheus-user-workload-0 4/4 Running 1 3h prometheus-user-workload-1 4/4 Running 1 3h thanos-ruler-user-workload-0 3/3 Running 0 3h thanos-ruler-user-workload-1 3/3 Running 0 3h