一、环境
1、操作系统:CentOS Linux 7 (Core)
2、docker:docker://20.10.7
3、k8s:v1.20.4
4、metrics-server:v0.4.2
二、简介
Kubernetes Metrics Server 是 Cluster 的核心监控数据的聚合器,kubeadm 默认是不部署的。
Metrics Server 供 Dashboard 等其他组件使用,是一个扩展的 APIServer,依赖于 API Aggregator。所以,在安装 Metrics Server 之前需要先在 kube-apiserver 中开启 API Aggregator。
Aggregator开启
这个是k8s在1.7的新特性,如果是1.16版本的可以不用添加,1.17以后要添加。这个参数的作用是Aggregation允许在不修改Kubernetes核心代码的同时扩展Kubernetes API。
开启方法:要在master机器上执行
vim /etc/kubernetes/manifests/kube-apiserver.yaml
- --enable-aggregator-routing=true //加入这一行
----------------------------------------------------------------------------------------
- command:
- kube-apiserver
- --advertise-address=192.168.10.127
- --allow-privileged=true
- --authorization-mode=Node,RBAC
- --client-ca-file=/etc/kubernetes/pki/ca.crt
- --enable-admission-plugins=NodeRestriction
- --enable-bootstrap-token-auth=true
- --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt
- --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt
- --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key
- --etcd-servers=https://127.0.0.1:2379
- --insecure-port=0
- --enable-aggregator-routing=true //加入这一行
-----------------------------------------------------------------------------------------------------------------------
然后在master的机器上执行
kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml
二、部署
部署(国内加速镜像一键部署)
#由于GFW,metrics镜像已替换成国内镜像,同时下载地址也替换成国内地址,当前版本:v0.4.2
#官方更新地址:https://github.com/kubernetes-sigs/metrics-server
#自定义添加--kubelet-insecure-tls 跳过 TLS 认证,否则会出现 x509 的认证问题
#自定义添加--kubelet-preferred-address-types=InternalIP 使用 Node IP 进行通信。
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.2/components.yaml
三、部署完后就可以执行
# kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
minio-1 43m 2% 1064Mi 56%
minio-2 40m 2% 1159Mi 61%
minio-3 32m 3% 1208Mi 63%
minio-4 98m 4% 1329Mi 70%
# kubectl top pod
NAME CPU(cores) MEMORY(bytes)
curl 0m 0Mi
nginx-php74-5fbd6f7c48-wc2xz 0m 14Mi
php-fpm74-6dfd9d9b4c-gq6mx 1m 21Mi
##然后再k8s面版上就可以时时看到这个node和pod的 cpu和内存的监控数据