作为IT DevOps工程师,使用kubectl top
命令查看Kubernetes集群资源使用情况的步骤如下:
-
前提条件:确保集群已部署Metrics Server,用于收集资源指标。可通过
kubectl get deployment metrics-server -n kube-system
验证。 -
查看节点资源:
kubectl top nodes # 显示所有节点的CPU/Memory使用情况 kubectl top node <node-name> # 查看特定节点
-
查看Pod资源:
kubectl top pods -A # 查看所有命名空间的Pod kubectl top pods -n <namespace> --sort-by='cpu' # 按CPU排序 kubectl top pods --containers # 显示Pod内容器级别的使用情况
-
常用参数:
--no-headers
:去除表头-l <label-selector>
:按标签过滤--use-protocol-buffers
:提升性能(Metrics Server需支持)
-
问题排查:
- 若数据缺失,检查Metrics Server日志:
kubectl logs -n kube-system deployment/metrics-server
- 确保kubelet的
read-only-port
(10255)开放,或启用API Server的聚合层
- 若数据缺失,检查Metrics Server日志: