在kubernetes中HPA自动伸缩指标依据、kubectl top 命令的资源使用率,可以通过 metrics-server 来获取,但是它不适合作为准确的监控数据来源。
官方主页:https://github.com/kubernetes-sigs/metrics-server。 在大部分情况下,使用deployment部署一个副本即可,最多支持5000个node,每个node消耗3m CPU 和 3M 内存。
[root@maxiaoke metrics-server]# wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
[root@maxiaoke metrics-server]# grep -w -E "image|kubelet-insecure-tls" components.yaml # 1. 镜像仓库推荐替换;2. 增加--kubelet-insecure-tls启动参数,跳过证书验证
- --kubelet-insecure-tls
# image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1
image: registry.aliyuncs.com/google_containers/metrics-server:v0.6.1
[root@maxiaoke metrics-server]# kubectl apply -f components.yaml
[root@maxiaoke metrics-server]# kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
master-81 166m 8% 1089Mi 28%
worker-84 74m 1% 333Mi 4%
worker-85 55m 1% 283Mi 3%
worker-86 64m 1% 331Mi 4%
worker-87 50m 1% 252Mi 3%
worker-88 59m 1% 268Mi 3%