Prometheus架构与实践分享 监控k8s-腾讯课堂

https://www.sohu.com/a/342733264_198222

 

 

整个集群的监控需要安装下面的组件

 

 组件直接通信通过kube-dns来进行通信

 

 

 

 

 

 

 

 

 服务发现:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config

监控的时候我们不可能一个容器配置一个IP地址,我们需要引入服务发现的功能,普罗米修斯支持三种服务的发现功能 1、# 基于k8s的服务发现kubernetes_sd_configs:2、基于注册中心的zk,不支持Eureka

部署方式:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/prometheus

源码目录:kubernetes/cluster/addons/prometheus

服务发现:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config

在k8s的master上面安装普罗米修斯

部署条件

1、K8S中部署内部DNS服务

2、已有可使用的动态PV 、或者使用静态PV

 

 

1、下载github包:https://github.com/kubernetes/kubernetes/

2、复制文件到指定目录

mkdir ~/prometheus
cp ~/kubernetes/cluster/addons/prometheus/* ~/prometheus/

3、进入到目录

cd ~/prometheus/

4、k8s通过配置文件创建运行容器

kubectl apply -f prometheus-rbac.yaml
kubectl apply -f prometheus-configmap.yaml
kubectl apply -f prometheus-statefulset.yaml
kubectl apply -f prometheus-service.yaml 

5、查看创建资源

复制代码
复制代码
kubectl get pod,svc -n kube-system
NAME                           READY   STATUS    RESTARTS   AGE
pod/coredns-64479cf49b-lsqqn   1/1     Running   0          75m
pod/prometheus-0               2/2     Running   0          2m12s

NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
service/kube-dns     ClusterIP   10.0.0.2     <none>        53/UDP,53/TCP,9153/TCP   75m
service/prometheus   NodePort    10.0.0.170   <none>        9090:42575/TCP           8s
复制代码
复制代码

 

 上面部署是有顺序的,必须先部署rabc.yaml 必须安装上面的部署方式部署

监控的组件指标如下:

第一个指标:监控k8s master节点中api-service组件指标

 

 

 

 

 

 

 

 

 

 

 、可以查看整个k8s集群消耗的cpu的利用率

1、查看整个k8s集群消耗的cpu 、内存等指标

 

 

 

 

 

 2、可以查看整个k8s集群中部署的全部pod的信息,可以安装pod消耗的cpu进行排序

 

 

 

 

 

 3、也可以查看某个节点上面部署的pod、容器的cpu和内存资源

 

 

 

 

 

 

 

node监控也需要安装nodeexpoerter

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 1、可以查看当前集群占用了多少主机的多少CPU、内存、磁盘空间等

 

 

 

 2、可以查看整个k8s集群下面deployment部署了多少应用

 

 

 

 3、可以查看整个k8s集群存在多少个node节点

 

 

 

 3、会查看当前k8s集群下面存在多少个pod

 

 

 

 4、当前k8s集群下面存在多少个容器,容器总的资源消耗了多少

 

 

 

 5、你也可以选择对于的namespace,查看某个具体的namespace下面部署了多少pod、多少容器,每个namespace对应的就是具体的某个应用,这样就可以查看某个应用部署在哪些k8s节点上,查看整个k8s集群的cpu、内存等指标,查看对于node的指标等

 

 

 

 部署alertManger

 

 

1、可以依据集群cpu、nodecpu  node内存 podcpu 容器cpu进行预警

 

 

 

 

 

posted on   luzhouxiaoshuai  阅读(474)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2018-07-06 java SSM框架单元测试最佳实战代码

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示