Skip to main content
若已有内置模板,可忽略9.2.2-9.2.3章节

9.2.1. 安装kube-state-metrics

9.2.1.1. 查看K8S集群版本

进入k8s集群主节点 执行命令查询K8S部署版本
如图所示,版本在最后一列,这里K8S集群版本为:v1.21.5 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 1

9.2.1.2. 查找集群对应的采集器版本

kube-state-metrics采集器跟K8S版本有适配兼容的限制,版本如果差异过大,可能会导致kube-state-metrics无法采集到K8S的相关指标数据。因此kube-state-metrics部署版本要适配K8S集群版本。 访问kube-state-metrics仓库:GitHub - kubernetes/kube-state-metrics: Add-on agent to generate and expose cluster-level metrics. 打开后,在左上角可以查看对应的分支版本,默认是最新版主分支。 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 2 选择对应版本后,下拉,可以看到最近的适配版本信息。 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 3 这里分支选择了release-2.2.然后看到kube-state-metrics的v2.2.4版本可以支持K8S的v1.21版本,因此这里部署kube-state-metrics的v2.2.4版本。

9.2.1.3. 拉取kube-state-metrics部署文件

首先使用国内的git源进行拉取 拉取地址:猫科动物/kube-state-metrics 使用下面命令进行拉取(若没有git,直接yum安装一个)
如图为拉取完后: 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 4 然后切换到可用的分支
进入后,可以看到kube-state-metrics的部署文件。 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 5 这个是最新版的文件,需要进行一个版本切换,这里的release根据自己的选择的版本调整即可。
如图所示:成功进行切换 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 6 然后查看目前版本是多少
为2.2.4,刚好是需要的版本,则无需再进行修改 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 7

9.2.1.4. 修改部署镜像源

部署文件内使用的镜像源默认是国外的,访问速度很慢,而且有可能无法访问。因此切换为国内的部署镜像源 直接进行批量替换
这里前一个版本号为deployment.yaml文件中的版本号,后面的版本号为需要部署的版本号。 替换完后,再次查看deployment.yaml文件,发现镜像源已经替换成功。 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 8

9.2.1.5. 直接部署

直接使用kubectl命令使用该目录下的所有部署文件进行部署
“.”代表的是当前目录 如图,显示创建成功 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 9  查看kube-state-metrics服务启动情况
可以看到kube-state-metrics容器正在创建 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 10  等待1-2分钟后,再次查看,可见kube-state-metrics服务已经正常运行了 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 11

9.2.1.6. 创建对外访问services

部署好kube-state-metrics服务后,默认是没法对外访问的。 使用命令查看kube-state-metrics服务的service服务
可以看到,没有对外的访问端口,因此需要暴露对外访问。 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 12 复制原先的service.yaml部署文件
修改对外暴露配置文件
原配置文件内容: 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 13  将配置文件中的内容修改为
这里需要注意的是,service的name不能跟原文件一致,要重新修改,同时将service的类型修改为NodePort。NodePort的默认暴露的端口范围为:30000-32767。只要在这个范围内基本都没问题。 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 14 然后直接指定配置文件进行部署
如图所示,成功部署,查看service服务后发现其将8080端口映射到集群的30099端口。 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 15

9.2.1.7. 访问测试

直接使用K8S集群IP+对外端口/metrics,进行访问,若出现以下页面,并且有指标数据,说明部署成功。 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 16

9.2.2. 导入kube-state-metrics模板

kube-state-metrics监控模板,联系技术中心获取 prometheus_kube_state_metrics_20230313.xml 登录zabbix原生界面: 登录地址:部署IP/z 默认登录信息:Admin/ITIM_p@ssw0rd 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 17 登录后:配置>模板>导入 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 18  选择kube-state-metrics模板 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 19 然后导入 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 20

9.2.3. 迁移kube-state-metrics模板

然后登录乐维监控系统 打开监控中心>资源配置>模板迁移>未迁移模板 找到刚导入的kube-state-metrics模板,点击右边的迁移 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 21 根据图,进行迁移配置,然后点击确定,即能完成模板迁移。 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 22

9.2.4. 添加监控

然后回到监控中心>综合监控>资源列表 然后点击右上角的新建,即可开始新建监控对象 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 23 找到容器类型中,刚迁移的模板,点击创建 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 24 然后根据图来添加基础信息,最后点击提交即可 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 25 指标地址可看9.2.1.7

9.2.5. 查看监控情况

添加完监控后,等待几分钟,然后查看监控情况: 添加完后,会在监控中心>综合监控>资源列表里面有刚添加的监控对象 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 26  点击进入监控详情 9.2. 基于kube-state-metrics采集器监控K8S集群 操作截图 27 在指标列表中即可查看指标数据。若出现指标数据,说明监控添加成功