kubectl top 是监控 Kubernetes 集群资源使用情况的重要工具,但实际应用中需注意以下几点:
- 前置条件:确保集群已部署 Metrics Server,否则无法获取数据。可通过
kubectl get apiservices | grep metrics
验证。 - 基础命令:
kubectl top nodes
查看节点 CPU/Memory 使用率,需关注节点是否接近资源瓶颈。kubectl top pods -n <namespace>
查看 Pod 级别资源消耗,结合--containers
可细化到容器层级。
- 典型场景:
- 定位异常 Pod:当节点负载过高时,通过排序
kubectl top pods --sort-by=cpu -A
快速识别资源消耗大户。 - 资源配额验证:比对 Request/Limit 配置与实际使用情况,避免资源超卖或浪费。
- 定位异常 Pod:当节点负载过高时,通过排序
- 注意事项:
- 数据精度为1分钟平均值,不适合实时监控场景。
- 网络存储未纳入统计,需结合
kubectl describe
分析全量资源。 - 权限不足时可能返回空数据,需检查 RBAC 配置。
- 扩展方案:生产环境建议集成 Prometheus + Grafana 实现长期趋势分析与告警,kubectl top 更适合快速排查场景。