k8s、prometheus、grafana数据采集和展示的链路流程

k8s集群中,容器级别的数据采集是由cAdvisor程序实现

cAdvisor # Container Advisor 容器顾问

cAdvisor程序是kubelet组件的一部分。

每个节点,包括master节点,都有一个kubelet系统服务,

kukelet负责管理pod和容器的生命周期

其cAdvisor程序可以采集cpu内存网络io等数据

cAdvisor采集容器级别的数据

kubelet负责汇总出节点级别的数据

metrics server监控组件定期从kubelet获取这些数据,转换成k8s API可以识别的格式

Prometheus从这个API获取数据,kubectl top命令,和HPA控制器也是从这个API获取数据

Grafana从Prometheus获取数据,进行展示

kubelet是以软件包的形式安装,yum -y install kubelet,以系统服务的形式运行

用systemd管理,配置文件一般在/var/lib/kubelet/目录下

metrics-server是以DaemonSet的形式部署

metrics-server需要签发证书才能采集数据,

签发证书需要先修改kubelet配置文件,添加一行

serverTLSBootstrap: true

重启kubelet服务

]# kubectl certificate approve xxx # 管理控制节点签发证书

]# echo 'serverTLSBootstrap: true' >>/var/lib/kubelet/config.yaml # 计算节点也配置证书

然后在master节点给计算节点签发证书

top命令就可以看到cpu和内存的统计数据了

可以kubelet top pods查看pod级别的数据

也可以kubelet top nodes查看node级别的数据

metrics-server官方资源文件地址:

metrics-server/manifests/base at master · kubernetes-sigs/metrics-server · GitHubScalable and efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines. - metrics-server/manifests/base at master · kubernetes-sigs/metrics-serverhttps://github.com/kubernetes-sigs/metrics-server/tree/master/manifests/base

prometheus官方资源文件地址:

https://github.com/prometheus-operator/kube-prometheushttps://github.com/prometheus-operator/kube-prometheus

相关推荐
JAVA社区6 小时前
Java高级全套教程(十一)—— Kubernetes 超详细企业级实战详解
java·运维·微服务·容器·面试·kubernetes
陈陈CHENCHEN9 小时前
【Kubernetes】Kubeadm 搭建生产级 K8s 高可用集群
云原生·容器·kubernetes
杰克逊的日记10 小时前
K8s+GPU+大模型运维主要技术点
运维·容器·kubernetes
PascalMing12 小时前
K8s集群安装部署完整指南(Ubuntu24.04+K8s1.28)
云原生·容器·kubernetes
IT策士13 小时前
第 34 篇 k8s之存储基础:emptyDir 与 hostPath
云原生·容器·kubernetes
IT策士14 小时前
第31篇 k8s之Ingress 进阶:TLS、重写与认证
云原生·容器·kubernetes
川石课堂软件测试14 小时前
作为一名测试工程师如何学习Kubernetes(k8s)技能
学习·测试工具·容器·职场和发展·kubernetes·测试用例·harmonyos
IT策士16 小时前
第32篇 k8s 之 配置管理:ConfigMap 详解
云原生·容器·kubernetes
IT策士17 小时前
第33篇 k8s 之 敏感信息管理:Secret 与安全实践
安全·容器·kubernetes
IT策士17 小时前
第30篇 k8s之Ingress 基础:域名路由与 Ingress Controller
云原生·容器·kubernetes