
# 云原生监控插件(kube-prometheus-stack)
#### 插件简介
云原生监控插件（原名kube-prometheus-stack）通过使用Prometheus-operator和Prometheus，提供简单易用的端到端Kubernetes集群监控能力。
使用云原生监控插件可将监控数据与监控中心对接，在监控中心控制台查看监控数据，配置告警等。
开源社区地址：<https://github.com/prometheus/prometheus>
#### 使用场景
- 用户如果需要将资源池指标上报到第三方平台，可选择安装该插件。不安装该插件指标也会上报到华为云AOM平台。
不涉及以上两种场景无需安装。
#### 约束限制
插件中的kube-state-metrics组件不采集Kubernetes资源的所有的labels和annotation。
暂不支持超节点资源池使用该插件时选择本地数据存储模式
#### 权限说明
云原生监控插件中的node-exporter组件会监控Docker的存储磁盘空间，需要读取宿主机的/var/run/docker.sock的获取Docker的info的数据。
node-exporter运行需要cap_dac_override权限：读取Docker的info的数据。
#### 安装插件
1. 登录[ModelArts管理控制台](https://console.huaweicloud.com/modelarts/)，在左侧菜单栏中选择"资源管理 \> 专属算力资源 \> 资源池"。
2. 单击资源池名称，进入资源池详情页。
3. 在资源池详情页，切换到"插件"页签。
4. 在未安装插件列表中，选择待安装的插件，单击"安装"。
   图1安装插件   
   ![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002357950885.png)
   表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秒                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 参数配置          | 数据保留期        | 设置数据保留时长。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 参数配置          | 高级配置         | - Node-Exporter监听端口：该端口使用主机网络，用于监听并暴露所在节点的指标供普罗采集；若与您已有应用的端口冲突，可按需修改。  - 调度策略：组件能够运行在配置容忍污点的节点上。 普罗能力升级后，支持在本界面配置普罗插件组的节点亲和性与污点容忍能力。当前仅支持污点键级容忍策略，组件可调度至含对应污点键的节点。 支持配置多个调度策略，其中指定组件名称的策略优先级高于全局策略。若不设置亲和节点键或容忍节点污点键，则默认不启用对应调度策略。                             |
      
   
5. 阅读使用说明，勾选"我已阅读并知晓上述使用说明"。
6. 单击"确定"。
 
 #### 组件说明
| 容器组件                                                                                         | 说明                                                                                                                                                                                                                                                                                                                         | 支持的部署模式    | 资源类型        |
|:---|:---|:---|:---|
| 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](https://support.huaweicloud.com/usermanual-cce/cce_10_0406.html#cce_10_0406__section163751639151115)进行配置。 该组件如果存在多个Pod，只会有一个Pod暴露指标。 | 所有模式       | Deployment  |
| nodeExporter （负载名称：node-exporter）             | 每个节点上均有部署，收集Node级别的监控数据。                                                                                                                                                                                                                                                                                                   | 所有模式       | DaemonSet   |
   
