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

相关推荐
斯普信专业组10 小时前
K8s企业应用之容器化迁移
云原生·容器·kubernetes
颜淡慕潇10 小时前
【K8S系列】Kubernetes 中 Service IP 分配 问题及解决方案【已解决】
后端·云原生·容器·kubernetes
陈小肚10 小时前
k8s 1.28.2 集群部署 Thanos 对接 MinIO 实现 Prometheus 数据长期存储
kubernetes·prometheus·thanos
YCyjs11 小时前
Kubeadm搭建k8s
容器·kubernetes
摇曳 *11 小时前
Kubernetes:(三)Kubeadm搭建K8s 1.20集群
云原生·容器·kubernetes
网络笨猪11 小时前
K8S 容器可视化管理工具-kuboard 监控管理工具搭建
云原生·容器·kubernetes
陈小肚11 小时前
k8s 1.28.2 集群部署 NFS server 和 NFS Subdir External Provisioner
云原生·容器·kubernetes
福大大架构师每日一题14 小时前
27.9 调用go-ansible执行playbook拷贝json文件重载采集器
golang·json·ansible·prometheus
小森饭14 小时前
Kubernetes运行大数据组件-运行hive
大数据·hive·云原生·kubernetes
MetaverseMan1 天前
k8s 查看 Secrets 的内容和详细信息
云原生·容器·kubernetes