云原生监控插件(kube-prometheus-stack)
插件简介
云原生监控插件(原名kube-prometheus-stack)通过使用Prometheus-operator和Prometheus,提供简单易用的端到端Kubernetes集群监控能力。
使用云原生监控插件可将监控数据与监控中心对接,在监控中心控制台查看监控数据,配置告警等。
使用场景
- 用户如果需要将资源池指标上报到第三方平台,可选择安装该插件。不安装该插件指标也会上报到华为云AOM平台。
不涉及以上两种场景无需安装。
约束限制
插件中的kube-state-metrics组件不采集Kubernetes资源的所有的labels和annotation。
权限说明
云原生监控插件中的node-exporter组件会监控Docker的存储磁盘空间,需要读取宿主机的/var/run/docker.sock的获取Docker的info的数据。
node-exporter运行需要cap_dac_override权限:读取Docker的info的数据。
安装插件
- 登录ModelArts管理控制台,在左侧菜单栏中选择“资源管理 > 标准算力集群 (Standard Cluster)”。
- 单击资源池名称,进入资源池详情页。
- 在资源池详情页,切换到“插件”页签。
- 在未安装插件列表中,选择待安装的插件,单击“安装”。
图1 安装插件
表1 云原生监控插件 参数
子参数
说明
数据存储配置(至少选一项)
监控数据上报至第三方平台
将普罗数据上报至第三方监控系统,需填写第三方监控系统的地址和Token,并选择是否跳过证书认证。
- 数据上报地址:用户第三方平台或者华为云通用普罗实例。请填写完整的RemoteWrite地址。
- 认证模式:选择监控数据上报认证模式,并填写各认证模式下第三方平台的账号密码。
本地数据存储
本地数据存储:集群内部会保存监控数据,用于指标本地查询;占用的CPU、内存和磁盘资源较多,并与集群规模和自定义指标规模成正比。
无本地数据存储:监控数据保存在AOM或第三方监控系统中,集群内部不做存储,占用资源较少。
开启后,监控数据将会存储到挂载的云硬盘或专属存储中,使依赖本地监控数据的功能(如负载伸缩HPA使用自定义指标)可正常使用。卸载插件时云硬盘会自动清理。使用HPA功能需开启此选项。创建底层存储会收起资源费用,并占用底层资源的配额。
开启后,需要填下云硬盘类型和容量。
本地数据存储:集群内部会保存监控数据,用于指标本地查询;占用的CPU、内存和磁盘资源较多,并与集群规模和自定义指标规模成正比。
无本地数据存储:监控数据保存在AOM或第三方监控系统中,集群内部不做存储,占用资源较少。
规格配置
插件版本
指定部署的云原生监控插件版本。
插件规格
预置规格:演示规格(适用100Pod以内的集群)、小规格(适用2000Pod以内的集群)、中规格(适用5000Pod以内的集群)、大规格(适用超过5000Pod的集群)。两种预置规格的配置不同,具体可参见预置规格对应的配置清单。
自定义规格:可根据需求调整插件CPU配额和内存配额。请保证集群下节点资源充足,若资源不足,插件实例无法调度。
高可用模式
选择本地存储模式,将组件prometheusOperator,prometheus-server,alertmanager,thanosSidecar,thanosQuery,adapter,kubeStateMetrics按照多实例模式部署
不选择本地存储模式,将组件prometheusOperator,prometheus-lightweight,kubeStateMetrics按照多实例模式部署。
部署的组件所支持的部署模式不同,详情请见组件说明。
配置清单
指定插件规格对应的云原生监控插件的各项具体配置参数。
参数配置
采集周期 (秒)
若集群规模整体较大(≥200节点或≥10000Pod),建议将采集周期修改为60秒或30秒
数据保留期
设置数据保留时长。
高级配置
- 阅读使用说明,勾选“我已阅读并知晓上述使用说明”。
- 单击“确定”。
组件说明
容器组件 |
说明 |
支持的部署模式 |
资源类型 |
---|---|---|---|
prometheusOperator (负载名称:prometheus-operator) |
根据自定义资源(Custom Resource Definition / CRDs)来部署和管理Prometheus Server,同时监控这些自定义资源事件的变化来做相应的处理,是整个系统的控制中心。 |
所有模式 |
Deployment |
prometheus (负载名称:prometheus-server) |
Operator根据自定义资源Prometheus类型中定义的内容而部署Prometheus Server集群,这些自定义资源可以看作是用来管理Prometheus Server集群的StatefulSets资源。 |
所有模式 |
StatefulSet |
alertmanager (负载名称:alertmanager-alertmanager) |
插件的告警中心,主要用于接收Prometheus发送的告警并通过去重、分组、分发等能力管理告警信息。 |
本地数据存储开启模式 |
StatefulSet |
thanosSidecar |
仅在高可用模式下部署。和prometheus-server运行在同一个Pod中,用于实现普罗指标数据的持久化存储。 |
本地数据存储开启模式 |
Container |
thanosQuery |
仅在高可用模式下部署。PromQL查询的入口,能够对来自Store或Prometheus的相同指标进行重复数据删除。 |
本地数据存储开启模式 |
Deployment |
adapter (负载名称:custom-metrics-apiserver) |
将自定义指标聚合到原生的Kubernetes API Server。 |
本地数据存储开启模式 |
Deployment |
kubeStateMetrics (负载名称:kube-state-metrics) |
将Prometheus的metrics数据格式转换成K8s API接口能识别的格式。kube-state-metrics组件在默认配置下,不采集K8s资源的所有labels和annotation。如需采集,请参考采集Pod所有labels和annotations进行配置。 该组件如果存在多个Pod,只会有一个Pod暴露指标。 |
所有模式 |
Deployment |
nodeExporter (负载名称:node-exporter) |
每个节点上均有部署,收集Node级别的监控数据。 |
所有模式 |
DaemonSet |