kubernets提供了metrics API来支持kubectl top命令,显示集群CPU和内存使用情况。如没有安装,则会报error: Metrics API not available错误。
目录导航
安装
从官网下载
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -O metrics-server-components.yaml
修改参数
在不能连接外网时,需要修改镜像地址
image: registry.k8s.io/metrics-server/metrics-server:v0.6.3
==》
image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.6.3
另外,因为没有使用官网地址,需要增加一个忽略安全检测的参数
- --metric-resolution=15s
修改位置截图如下
部署
kubectl apply -f metrics-server-components.yaml
查看
[root@vm248 ~]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-7bdc4cb885-hftgj 1/1 Running 11 (53m ago) 2d
coredns-7bdc4cb885-xs2vh 1/1 Running 11 (53m ago) 2d
etcd-vm248 1/1 Running 12 (71m ago) 2d
kube-apiserver-vm248 1/1 Running 11 (53m ago) 2d
kube-controller-manager-vm248 0/1 Running 57 (5m28s ago) 5h21m
kube-proxy-4k7n4 1/1 Running 11 (71m ago) 2d
kube-proxy-c6qwl 1/1 Running 1 (2m46s ago) 60m
kube-scheduler-vm248 1/1 Running 11 (53m ago) 2d
metrics-server-747c799565-6ksq9 1/1 Running 0 11m
[root@vm248 ~]#
使用
查看节点资源 top node
[root@vm248 ~]# kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
vm247 73m 1% 1076Mi 6%
vm248 639m 7% 2199Mi 13%
[root@vm248 ~]#
查看pod资源使用 top pod
需要指定namespace。
[root@vm248 ~]# kubectl top pod -n gcdw
NAME CPU(cores) MEMORY(bytes)
gcdw-ftp-0 0m 1Mi
gcdw-operator-58b76d54fc-tgcdp 6m 17Mi
gcdw-redis-0 2m 6Mi
gcdw-saas-backend-0 2m 302Mi
gcdw-saas-frontend-0 0m 1Mi
[root@vm248 ~]#