3.6. 管理监控组件的 CPU 和内存资源
您可以通过为这些组件的资源限值和请求指定值来确保运行监控组件的容器具有足够的 CPU 和内存资源。
您可以为 openshift-monitoring
命名空间中的核心平台监控组件配置这些限制和请求,以及监控 openshift-user-workload-monitoring
命名空间中的用户定义的项目的组件。
3.6.1. 关于为监控组件指定限制和请求
您可以为核心平台监控组件以及监控用户定义的项目的组件配置资源限值和请求设置,包括以下组件:
- Alertmanager (用于核心平台监控和用户定义的项目的)
- kube-state-metrics
- monitoring-plugin
- node-exporter
- openshift-state-metrics
- Prometheus (用于核心平台监控和用户定义的项目的)
- 指标服务器
- Prometheus Operator 及其准入 Webhook 服务
- Telemeter Client
- Thanos querier
- Thanos Ruler
通过定义资源限值,您可以限制容器的资源使用情况,这会阻止容器超过 CPU 和内存资源指定的最大值。
通过定义资源请求,您可以指定容器只能调度到具有足够 CPU 和内存资源的节点,以匹配请求的资源。
3.6.2. 为监控组件指定限制和请求
要配置 CPU 和内存资源,在监控组件所在的命名空间的适当 ConfigMap
对象中为资源限值和请求指定值:
-
用于核心平台监控的
openshift-monitoring
命名空间中的cluster-monitoring-config
配置映射 -
openshift-user-workload-monitoring
命名空间中的user-workload-monitoring-config
配置映射用于监控用户定义的项目的组件
先决条件
如果要配置核心平台监控组件 :
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 -
您已创建了名为
cluster-monitoring-config
的ConfigMap
对象。
-
您可以使用具有
如果您要配置用于监控用户定义的项目的组件:
-
您可以使用具有
cluster-admin
集群角色的用户访问集群,也可以使用在openshift-user-workload-monitoring
项目中具有user-workload-monitoring-config-edit
角色的用户访问集群。
-
您可以使用具有
-
已安装 OpenShift CLI(
oc
)。
流程
要配置核心平台监控组件,请编辑
openshift-monitoring
命名空间中的cluster-monitoring-config
配置映射对象:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
添加值,以定义您要配置的每个核心平台监控组件的资源限值和请求。
重要确保为限制设置的值始终高于为请求设置的值。否则,会出现错误,容器将不会运行。
Example
apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | alertmanagerMain: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 200m memory: 500Mi prometheusK8s: resources: limits: cpu: 500m memory: 3Gi requests: cpu: 200m memory: 500Mi prometheusOperator: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 200m memory: 500Mi metricsServer: resources: requests: cpu: 10m memory: 50Mi limits: cpu: 50m memory: 500Mi kubeStateMetrics: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 200m memory: 500Mi telemeterClient: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 200m memory: 500Mi openshiftStateMetrics: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 200m memory: 500Mi thanosQuerier: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 200m memory: 500Mi nodeExporter: resources: limits: cpu: 50m memory: 150Mi requests: cpu: 20m memory: 50Mi monitoringPlugin: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 200m memory: 500Mi prometheusOperatorAdmissionWebhook: resources: limits: cpu: 50m memory: 100Mi requests: cpu: 20m memory: 50Mi
- 保存文件以使改变生效。受新配置影响的 Pod 会自动重新部署。
其他资源