大规模集群中的云原生监控插件配置最佳实践
在大规模集群中,云原生监控插件的采集配置将较大程度地影响采集性能。在数据采集阶段,合理的配置能够显著提升监控系统的效率和稳定性。
本文档将指导您在大规模集群中高效配置和管理云原生监控插件,确保集群业务的稳定运行和高效运维。主要包括以下配置:
前提条件
- 在大规模集群的场景下,云原生监控插件不建议使用本地存储模式,请确保本地存储处于禁用状态。
- 请确保集群控制节点的内存使用率较低(常态40%以下,峰值45%以下)。您可在集群概览页面查看控制节点内存使用率,若不满足,建议先调整集群规格,具体操作请参见变更集群规格。
采集周期调整
若集群规模整体较大(≥200节点或≥10000Pod),需要合理设置采集间隔,避免过于频繁地采集导致系统负载过高。建议将采集周期修改为60秒或30秒。
- 登录CCE控制台,单击集群名称进入集群。
- 在左侧选择“插件中心”,找到云原生监控插件,单击“编辑”,在参数配置中找到“采集周期”并修改。
- 单击“确定”,等待插件更新完成。
Prometheus采集分片调整

分片调整会对您集群的控制节点内存特别是kube-apiserver内存产生额外压力,建议避开业务高峰期。
为了应对Prometheus在大规模监控环境下的性能挑战,您可以调整Prometheus采集分片,将采集任务分配给多个Prometheus实例,从而减轻AOM接收端的压力,提高整体性能。建议每75节点一个分片(若自定义指标数量或Pod数量较多,建议每50节点一个分片),最多不超过32个分片。
- 登录CCE控制台,单击集群名称进入集群。
- 在左侧选择“插件中心”,找到云原生监控插件,单击“编辑”,在规格配置中找到“采集分片数”并修改。
- 单击“确定”,等待插件更新完成。
kube-state-metrics分片调整

- 调整kube-state-metrics分片要求云原生监控插件版本≥3.12.1。
- 分片调整会对您集群的控制节点内存特别是kube-apiserver内存产生额外压力,建议避开业务高峰期。
kube-state-metrics(KSM)是Kubernetes中的一个开源监控组件,它通过监控Kubernetes API来暴露集群中各种资源(如Pod、Deployment、Node等)的指标。随着集群规模的增加,kube-state-metrics需要处理的API调用和生成的指标数量也会大幅增加,这可能导致性能问题。您可以对kube-state-metrics进行分片,将负载分摊到多个实例,从而提高整体性能和可用性。
以下是对kube-state-metrics的一些分片策略:
- 集群节点数小于等于50,建议不进行kube-state-metrics分片调整,默认为1分片。
- 集群节点数介于50至200之间,建议将kube-state-metrics调整为3分片。
- 集群节点数大于200,建议将kube-state-metrics调整为5分片。大于5的分片会对集群产生较大压力,因此超过5的分片数将会被视为5。
具体操作步骤如下:
- 登录CCE控制台,单击集群名称进入集群。
- 在左侧选择“插件中心”,找到云原生监控插件,单击“编辑”,在插件名称上方单击“编辑YAML”。
- 将operator_manage_ksm参数设置为true,并将ksm_shards设置为推荐值。
- 单击“确定”,等待插件更新完成,您可以在插件的实例列表中看到分片的kube-state-metrics负载。
kube-state-metrics规格调整
集群规模较大时,kube-state-metrics需要处理的数据量会显著增加,导致kube-state-metrics面临较大的负载压力,如果不及时调整其资源配置,可能会影响其性能甚至导致服务不可用。
建议集群中每有1万个Pod,kube-state-metrics对应的CPU限制值为500m、内存限制值为1.5Gi,CPU和内存申请值配置为限制值的30%~40%。若您集群的Pod YAML普遍较大,建议在此基础上上浮50%。
例如:某大规模集群中有4万Pod,则建议kube-state-metrics的CPU限制值为2000m(申请值为1000m),内存限制值为6Gi(申请值为1Gi~2Gi)。
- 登录CCE控制台,单击集群名称进入集群。
- 在左侧选择“插件中心”,找到云原生监控插件,单击“编辑”,在规格配置中找到“插件规格”并选择“自定义规格”,修改kube-state-metrics的资源配额。
- 单击“确定”,等待插件更新完成。
远程写参数调整

调整远程写参数要求云原生监控插件版本≥3.12.1。
当Prometheus对接AOM时,在处理大批量数据时可能会出现传输效率、稳定性的问题。您可以通过调整远程写参数,控制上传数据的批处理大小,以优化监控数据的传输效率和系统性能。建议在实际环境中进行测试和监控,根据具体的应用场景和系统负载进行调整,以达到最佳的性能表现。
- 登录CCE控制台,单击集群名称进入集群。
- 在左侧导航栏中选择“配置与密钥”,并切换至“monitoring”命名空间,找到名为“persistent-user-config”的配置项。
- 单击“编辑YAML”,对配置数据进行编辑,并在operatorConfigOverride中增加如下两个参数(operatorConfigOverride后面若有[],说明数组是空的,需要删除[])。
... operatorConfigOverride: - lightweight.agent.max-block-size=31457280 - lightweight.agent.max-rows-per-block=30000 ...
- 单击“确定”。