K8S 如何使用 kubectl top 查看 Pod 资源使用情况?
1. 部署 metrics-server
下载文件
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.2/components.yaml
然后修改两个地方:
- 镜像地址改为国内的代理镜像仓库:image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.5.2
- spec.template.containers.args字段中加上–kubelet-insecure-tls选项,表示不验证客户端证书;
然后直接安装即可
kubectl apply -f components.yaml
完成后,若如果两条命令都正常,说明部署完成
[root@master01 ~]# kubectl api-versions|grep metrics
metrics.k8s.io/v1beta1
[root@master01 ~]#
[root@master01 ~]# kubectl get pods -n=kube-system |grep metrics
metrics-server-858cbd588d-ftqqv 1/1 Running 0 3h59m
2. 使用 kubectl top
kubectl top 只能查看 pod 和 node 的资源占用
[root@master01 ~]# kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
master01 1203m 4% 6327Mi 5%
worker01 386m 1% 4198Mi 3%
worker02 375m 1% 2494Mi 2%
[root@master01 ~]#
[root@master01 ~]# kubectl top pod
NAME CPU(cores) MEMORY(bytes)
kubevirt-web-ops-949595595-rgbzg 1m 43Mi