k8s中的容器资源监视
Kubernetes容器资源监控实战指南:生产环境必备技能
作为每天管理Kubernetes集群的老司机,我发现资源监控就像给集群装了个"心电图仪"——能实时看到哪里在抽风,哪里在躺平。今天给大家分享一套生产级监控方案,都是我们团队踩坑总结出来的干货。
一、为什么要做资源监控?(说人话版)
想象一下:你的集群里有100个Pod在跑,突然业务量暴增,这时候:
- 怎么知道哪些Pod在疯狂吃CPU?
- 哪个节点内存要爆了?
- 自动扩缩容为啥没生效?
这就是资源监控要解决的问题!它能帮你:
✅ 防止半夜被报警电话叫醒
✅ 省下真金白银(优化资源使用)
✅ 让老板觉得你运维水平很专业
二、生产环境四大监控神器
1. kubectl top - 快速把脉工具
# 看节点心跳(CPU/MEM)
kubectl top nodes
# 看Pod的心跳(按命名空间)
kubectl top pods -n production
👉 适合快速排查问题,但只能看实时数据(历史数据查不到)
2. Metrics Server - 集群体检仪
- 自带的数据收集器
- 让HPA/VPA自动扩缩容成为可能
- 安装方法(没装的赶紧补课):
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
3. Prometheus + Grafana - 监控全家桶

- Prometheus负责采集数据(支持k8s服务发现)
- Grafana做可视化大屏
- 推荐配置:
# 监控Pod内存的告警规则示例
- alert: PodMemoryUsageCritical
expr: sum(container_memory_working_set_bytes{pod!="", container!=""}) by (pod, namespace) / (1024*1024) > 2048
for: 5m
labels:
severity: critical
annotations:
summary: "Pod内存超标 ({{ $value }}MB)"
4. 商业方案选型
- Datadog:功能全但贵
- NewRelic:APM整合好
- 阿里云ARMS:国内环境友好
三、必须监控的三大黄金指标
| 监控层级 | 关键指标 | 报警阈值建议 |
|---|---|---|
| 节点层 | CPU使用率 > 80%持续5分钟 | 触发节点扩容 |
| 内存可用 < 10% | 立即排查内存泄漏 | |
| Pod层 | 容器OOM次数 > 0 | 紧急调整内存limit |
| CPU Throttling时间占比 > 30% | 优化CPU requests | |
| 应用层 | HTTP 5xx错误率 > 1% | 触发故障转移 |
| 请求延迟P99 > 2s | 优化代码或扩容 |
四、生产环境避坑指南
坑1:监控数据把集群搞挂了
- 解决方案:单独开监控专用节点
nodeSelector:
role: monitoring
tolerations:
- key: "dedicated"
operator: "Equal"
value: "monitoring"
effect: "NoSchedule"
坑2:多集群监控成睁眼瞎
- 推荐方案:Thanos + Prometheus联邦
- 配置示例:
# Thanos Sidecar配置
thanos:
objectStorageConfig:
key: objstore.yml
name: thanos-objstore-secret
坑3:告警太多变成狼来了
- 智能降噪方案:
- 按业务重要性分级(P0/P1/P2)
- 设置静默时间(如业务高峰期不报警)
- 告警合并(相同错误合并发送)
五、高阶玩家技巧
1. 资源预测式扩缩容
# 安装Keda实现基于队列长度的自动扩缩容
helm install keda kedacore/keda --namespace keda
2. 成本优化监控
- 使用kube-cost分析资源开销
kubectl port-forward --namespace kubecost deployment/kubecost-cost-analyzer 9090
3. 安全监控
- 监控可疑容器行为:
(container_cpu_usage_seconds_total{container!="POD"} > 100)
AND
(rate(container_network_receive_bytes_total[5m]) > 1048576)
六、我们的监控大盘长这样

主要包含:
- 全局资源水位图
- 关键业务Pod TOP10排行榜
- 跨AZ流量热力图
- 成本消耗趋势预测
七、写给新手的检查清单
最后说句大实话:再好的监控工具,不如养成看监控的好习惯。建议每天早会先看监控大盘,就像医生每天查房一样,集群健康了,你的KPI也就稳了!
浙公网安备 33010602011771号