K8S集群源码部署Prometheus监控(附有常用监控模板)

科技   2024-10-29 07:30   广东  


Prometheus 是一个开源的监控和警报工具,特别适合云原生环境,下面是Prometheus的架构图。

Prometheus有非常多的优点:灵活的数据模型、简单易用、高效的查询语言、拉取模型、高可扩展性、开源社区支持,告警系统。这些优点使得 Prometheus 成为现代 IT 基础设施监控的热门选择。

如果要全面了解Prometheus,需要先部署一个测试环境。

在K8S上部署prometheus一般有两种常用的方式,一种是源码安装,一种是helm安装。


监控K8S效果展示

我下面就介绍一下使用源码方式安装prometheus。

在安装之前需要查看一下兼容性,根据自己的K8S版本选择对应的prometheus版本

下载地址:https://github.com/prometheus-operator/kube-prometheus

1 安装prometheus

1.1 下载软件包

wget https://github.com/prometheus-operator/kube-prometheus/archive/refs/tags/v0.14.0.tar.gz

如果网络不好,可以在github上下载后再上传到服务器。

1.2 修改配置

上传软件包后解压

# 解压
tar -xvf kube-prometheus-0.14.0.tar.gz

# 重命名
mv kube-prometheus-0.14.0  kube-prometheus

执行基本配置安装

进入到解压后目录,可以看到有个manifests目录这里面是我们所需的yaml,并且先运行manifests目录下setup中的yaml文件

[root@k8s-master data]cd kube-prometheus
# 使用tree命令可以看到所有目录结构
tree

# 进入manifests目录
[root@k8s-master kube-prometheus]cd manifests/

# 执行setup文件夹,将会为prometheus创建名称空间和一些基础清单
[root@k8s-master manifests]kubectl create -f setup/

修改暴露端口

主要修改prometheus,grafana和alertmanager的Service类型为NodePort,默认是ClusterIP

【温馨提示】端口范围:30000-32767

(1)修改prometheus暴露端口为30090

vim prometheus-service.yaml

(2)修改granfana暴露端口为30000

vim grafana-service.yaml

(3)修改altermanager暴露端口为30093

vim alertmanager-service.yaml 

1.3 安装prometheus

(1)执行安装

cd /data/kube-prometheus/manifests/
kubectl apply -f .

(2)删除不必要的网络策略

删除grafana、prometheus以及alertmanger的网络策略NetworkPolicy,如果不删除会导致安装后外网访问不了这三个资源。

cd /data/kube-prometheus/manifests
kubectl delete -f prometheus-networkPolicy.yaml
kubectl delete -f grafana-networkPolicy.yaml
kubectl delete -f alertmanager-networkPolicy.yaml

(3)查看安装情况

kubectl get pod -n monitoring

发现有几个pod没有起来,镜像拉取失败。

1.4 解决镜像问题

在我部署过程重要出现了grafana,state-metrics和ada这三个pod无法拉取的情况。通过更改镜像仓库来解决

(1)Adapter镜像问题

在镜像前面添加docker.m.daocloud.io

有些是将镜像修改为:v5cn/prometheus-adapter:v0.12.0

(2)grafana镜像问题

在镜像前面添加docker.m.daocloud.io

(3)kubeStateMetrics镜像问题

将镜像改为quay.io/coreos/kube-state-metrics:latest

解决完以上镜像问题,再执行部署

cd /data/kube-prometheus/manifests/
kubectl apply -f .

查看deployment,Service和pod的情况

2 使用promtheus和grafana

2.1 登录界面

(1)grafana登录界面

默认登录密码为admin/admin,首次登录需要修改密码

(2)prometheus登录界面

(3)altermanager登录界面

2.2 导入监控模版

登录grafana后,查看数据源是否正常,点击Test一下

导入监控模板,可以从grafana官网查找:

2.3 常用的监控模板

Dashboard ID:15661

 可以查看集群的整体资源状态

Dashboard ID:9730

主要展示Deployment,Pod等重要资源对象的可用情况和使用率


本次分享先到这里,后面会将继续深入讲解prometheus的理论知识和告警配置。

码字不易,戳下方名片,关注+星标


往期精彩文章


Linux上有趣的8个命令,你玩过几个?


万字长文:K8S命令详解汇总【自用珍藏版】


安装部署K8S集群环境(实测有效版本)


手把手教你搭建企业级Harbor镜像仓库


【Docker系列知识】常用命令大全汇总


局域网内构建统一可访问的YUM源(基础运维必备技能)


Linux文件处理三剑客详解(运维高手必备)


Tomcat常用配置和调优(生产环境必备技巧)


Nginx配置文件详解及常用功能配置(实用率90%)


运维李哥不背锅
专注于各种运维技术、,分享Linux基础知识,服务器,数据库,云原生和网络安全等相关技术,各种进阶知识等着你,助你成为技术达人!
 最新文章