3.5. 配置监控堆栈
在 OpenShift Container Platform 4.15 中,您可以使用 cluster-monitoring-config
或 user-workload-monitoring-config
ConfigMap
配置监控堆栈。配置配置映射配置 Cluster Monitoring Operator(CMO),CMO 会配置堆栈的组件。
先决条件
如果要配置 OpenShift Container Platform 核心监控组件:
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 -
您已创建
cluster-monitoring-config
ConfigMap
对象。
-
您可以使用具有
如果您要配置用于监控用户定义的项目的组件:
-
您可以使用具有
cluster-admin
集群角色的用户访问集群,也可以使用在openshift-user-workload-monitoring
项目中具有user-workload-monitoring-config-edit
角色的用户访问集群。 - 集群管理员为用户定义的项目启用了监控。
-
您可以使用具有
-
已安装 OpenShift CLI(
oc
)。
流程
编辑
ConfigMap
对象。要配置 OpenShift Container Platform 核心监控组件:
编辑
openshift-monitoring
项目中的cluster-monitoring-config
ConfigMap
对象:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
将您的配置以键值对
<component_name>: <component_configuration>
的形式添加到data/config.yaml
下:apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | <component>: <configuration_for_the_component>
相应地替换
<component>
和<configuration_for_the_component>
。以下示例
ConfigMap
对象为 Prometheus 配置持久性卷声明(PVC)。这与只监控 OpenShift Container Platform 核心组件的 Prometheus 实例相关:apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | prometheusK8s: 1 volumeClaimTemplate: spec: storageClassName: fast volumeMode: Filesystem resources: requests: storage: 40Gi
- 1
- 定义 Prometheus 组件,后面几行则定义其配置。
要配置用于监控用户定义的项目的组件:
在
openshift-user-workload-monitoring
项目中编辑user-workload-monitoring-config
ConfigMap
对象:$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
将您的配置以键值对
<component_name>: <component_configuration>
的形式添加到data/config.yaml
下:apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | <component>: <configuration_for_the_component>
相应地替换
<component>
和<configuration_for_the_component>
。以下示例
ConfigMap
对象为 Prometheus 配置数据保留周期和最低容器资源请求。这与仅监控用户定义的项目的 Prometheus 实例相关:apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | prometheus: 1 retention: 24h 2 resources: requests: cpu: 200m 3 memory: 2Gi 4
注意Prometheus 配置映射组件在
cluster-monitoring-config
ConfigMap
对象中被称为prometheusK8s
,在user-workload-monitoring-config
ConfigMap
对象中称为prometheus
。
保存文件以将更改应用到
ConfigMap
对象。警告ConfigMap
对象的不同配置更改会导致不同的结果:- Pod 不会重新部署。因此,没有服务中断。
受影响的 pod 被重新部署:
- 对于单节点集群,这会导致临时服务中断。
- 对于多节点集群,因为高可用性,受影响的 pod 会逐渐推出,监控堆栈仍然可用。
- 无论高可用性如何,配置和重新定义持久性卷的大小始终会导致服务中断。
每个需要更改配置映射中的步骤都包括其预期的结果。
其他资源
-
cluster-monitoring-config
配置映射的配置参考 -
user-workload-monitoring-config
配置映射的配置参考 - 有关创建监控配置映射的步骤,请参阅准备配置监控堆栈
- 为用户定义的项目启用监控