实验环境:
Kubernetes:v1.12.1
OS: Ubuntu 16.04
Docker:18.6.1
安装步骤
1. 在master节点上,下载metric-server
git clone https://github.com/kubernetes-incubator/metrics-server.git
2. 修改metrics-server/deploy/1.8+/metrics-server-deployment.yaml(一定要修改,源码有错误!!!)
vim metrics-server/deploy/1.8+/metrics-server-deployment.yaml
//添加
command:
- /metrics-server
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP
//修改
imagePullPolicy: IfNotPresent
3. 下载 metrics-server镜像 k8s.gcr.io/metrics-server-amd64:v0.3.1(因为国内无法访问k8s.gcr.io,参考https://cloud.tencent.com/developer/article/1353088)
pull-google-container k8s.gcr.io/metrics-server-amd64:v0.3.1
然后将该镜像打包分发给所有k8s的worker节点,示例如下:
#master
// 打包
docker save -o metrics-server-amd64.tar k8s.gcr.io/metrics-server-amd64:v0.3.1
// 发送
scp metrics-server-amd64.tar cym@worker1:/home/cym/workdir
#worker1
docker load < workdir/metrics-server-amd64.tat
4. 验证
kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
master 171m 8% 5390Mi 24%
worker1 66m 3% 3573Mi 16%
worker3 81m 4% 2251Mi 7%
worker4 83m 4% 3819Mi 17%
参考文档:
https://github.com/kubernetes-incubator/metrics-server
https://github.com/kubernetes-incubator/metrics-server/issues/131