k8s使用

提示:记录k8s使用
第四章 kuboard实现prometheus监控集群硬件+grafana展示

一、说明

由于项目中部分服务器未加入k8s集群,因此使用监控套件有一定的局限性,因此自研prometheus监控,使用grafana展示。
主要功能包括:硬件指标监控、容器运行状态监控(不在本文)、告警管理(不在本文)
选型如下:

名称功能版本
prometheus采集数据2.29.1
node-exporter硬件信息采集1.2.2
grafana图表展示8.1.1
alertmanager报警消息推送0.22.2
alertsnitch告警持久化latest
mysql存储历史告警信息5.6
cadvisor监控docker容器v0.33.0

二、部署容器

1. node-exporter(监控硬件信息)部署

使用kuboard部署于监控层,负载类型:守护进程集(保证每个节点上都有)无存储挂载。端口映射9100,如下
端口映射

2. prometheus(信息采集)部署

工作负载类型:部署,于api网关层
添加配置字典,将prometheus.yml写在配置字典中,在部署容器时添加挂载,如下:
配置字典(其中内容可日后修改,详细配置见第三章)
配置字典

挂载
存储挂载

3. grafana(图表展示)部署

工作负载:部署,展示层
因为要在外部访问,需要端口映射,而kuboard只支持大于5000的端口
工作容器中添加端口相关
工作容器
存储挂载中添加文件映射,将/etc/grafana/grafana.ini挂载出来,为了修改一些配置,设置免密登录、允许iframe相关
存储挂载
另外,为了grafana持久化,添加了nfs挂载。
grafananfs

三、配置

prometheus监控node-exporter

  - job_name: "node-exporter"
    static_configs:
      - targets: ["192.168.174.130:9100"]
        labels:
          instance: 'node1'

grafana

  1. 修改grafana.ini(上面写了挂载路径),设置免密登录
 [auth.anonymous]
 # enable anonymous access
enabled = true         #默认false
  1. 修改grafana.ini(上面写了挂载路径),允许iframe
# set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. default is false.
allow_embedding = true
  1. 添加数据源,prometheus。http://prometheus:9090
  2. 添加硬件运行dashboard 使用官网11074号dahsboard,并进行相应调整。展示如下:dashboard1

参考

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐