安装metrics-server
1、在github上下载metrics-server的任意版本
# 下载地址,下载components.yaml这个文件
https://github.com/kubernetes-sigs/metrics-server/releases
2、查看kube-apiserver是否启用了聚合层
注意:kubeadmin安装的默认会启动,二进制安装的需要手动配置
# 查看你的kube-apiserver是否启用了聚合层,没有启用需要先启用
[root@k8s-master1 ~]# cat /usr/local/k8s/kubernetes/cfg/kube-apiserver.conf | grep -E "requestheader|proxy"
--requestheader-client-ca-file=/usr/local/k8s/kubernetes/ssl/ca.pem \
--proxy-client-cert-file=/usr/local/k8s/kubernetes/ssl/server.pem \
--proxy-client-key-file=/usr/local/k8s/kubernetes/ssl/server-key.pem \
--requestheader-allowed-names=kubernetes \
--requestheader-extra-headers-prefix=X-Remote-Extra- \
--requestheader-group-headers=X-Remote-Group \
--requestheader-username-headers=X-Remote-User \
3、修改components.yaml文件
修改或新增上方用红箭头标记出来的参数值
下载阿里云的镜像,在K8S节点上都运行一次
[root@k8s-master1 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/zailushang/metrics-server:v0.6.0
[root@k8s-master1 ~]# docker tag registry.cn-hangzhou.aliyuncs.com/zailushang/metrics-server:v0.6.0 registry.cn-hangzhou.aliyuncs.com/metrics-server:v0.6.0
4、部署
[root@k8s-master1 k8s]# kubectl apply -f components.yaml
[root@k8s-master1 k8s]# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-d4bfdcb9-7tm5m 1/1 Running 16 (4d3h ago) 43d
calico-node-g2dgj 1/1 Running 28 (4d19h ago) 75d
calico-node-mm47m 1/1 Running 58 (4d4h ago) 75d
calico-node-qcj68 1/1 Running 27 (4d3h ago) 75d
coredns-fb8998479-5hn9g 1/1 Running 13 (4d3h ago) 43d
metrics-server-858b8ff8fd-rptdt 1/1 Running 0 62s
5、验证
# 验证是否安装成功
[root@k8s-master1 k8s]# kubectl top pod
[root@k8s-master1 k8s]# kubectl top node
# 下载epel源,里面有jq包,jq是在shell中处理JSON输入
[root@k8s-master1 k8s]# yum install epel-release -y
[root@k8s-master1 k8s]# yum install jq -y
# 调用api的原始接口获取节点中的详细信息
[root@k8s-master1 k8s]# kubectl get --raw /apis/metrics.k8s.io/v1beta1/nodes |jq
[root@k8s-master1 k8s]# kubectl get --raw /apis/metrics.k8s.io/v1beta1/pods |jq