如何在Kubernetes Dashboard中获取超过30分钟的集群统计数据?
解决Kubernetes Dashboard无法查看全周期统计数据的方案
核心原因
Kubernetes Dashboard默认依赖的metrics-server仅负责存储短期(默认15分钟)指标,它的定位是给HPA、调度器等组件提供实时数据支撑,本身不支持长期数据持久化,所以哪怕Pod运行多天,也只能看到最近15分钟的统计内容。
配置步骤
1. 部署Prometheus实现长期指标存储
要保留Pod/集群全周期的统计数据,需要先部署Prometheus作为长期指标存储系统:
- 用Helm快速部署最便捷:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update helm install prometheus prometheus-community/prometheus - 部署完成后,Prometheus会通过
kube-state-metrics和node-exporter自动采集集群各类指标,并通过PVC持久化存储数据,不会轻易丢失。
2. 配置Dashboard对接Prometheus
让Dashboard从Prometheus获取长期指标数据:
- 编辑Dashboard的配置ConfigMap:
kubectl edit configmap kubernetes-dashboard-settings -n kubernetes-dashboard - 在
data模块添加Prometheus的访问配置(默认Prometheus的Service地址为http://prometheus-server.default.svc.cluster.local,端口80):data: prometheus-host: "http://prometheus-server.default.svc.cluster.local" prometheus-port: "80" - 重启Dashboard Pod使配置生效:
kubectl rollout restart deployment kubernetes-dashboard -n kubernetes-dashboard
3. 调整Prometheus数据保留时长(可选)
Prometheus默认保留15天的数据,若需要更长存储周期,可修改启动参数:
- 编辑Prometheus的Deployment:
kubectl edit deployment prometheus-server -n default - 在容器启动参数
args中添加或修改保留时长,比如设置为30天:args: - --storage.tsdb.retention.time=30d - 重启Prometheus Pod:
kubectl rollout restart deployment prometheus-server -n default
验证配置
重新登录Kubernetes Dashboard,查看Pod或集群统计数据时,即可选择更长时间范围,获取从Pod启动以来的全周期指标(前提是Prometheus已采集到对应时段的数据)。
内容的提问来源于stack exchange,提问作者The Kingmaker
相关产品推荐
相关产品推荐

