CKA-设置metric-server监控
在所有节点上下载镜像 :
docker pull mirrorgooglecontainers/metrics-server-amd64:v0.3.6
然后在所有节点上给他tag成一个新镜像:
docker tag mirrorgooglecontainers/metrics-server-amd64:v0.3.6 k8s.gcr.io/metrics-server-amd64:v0.3.6
在master上通过如下命令下载metric-server(以下操作都在master上做):
[root@vms10 ~]# curl -Ls https://api.github.com/repos/kubernetes-sigs/metrics-server/tarball/v0.3.6 -o metrics-server-v0.3.6.tar.gz
[root@vms10 ~]#
解压metrics-server-v0.3.6.tar.gz,并进入到如下目录:
[root@vms10 1.8+]# pwd
/root/kubernetes-sigs-metrics-server-d1f4f6f/deploy/1.8+
[root@vms10 1.8+]#
修改metrics-server-deployment.yaml如下内容:
保存退出后,运行当前目录所有文件:
[root@vms10 1.8+]# kubectl apply -f .
clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader created
...大量输出...
clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server created
[root@vms10 1.8+]#
查看metrics-server 的pod运行状态:
[root@vms10 1.8+]# kubectl get pods -n kube-system | grep metric
metrics-server-6dc459d577-rqr8d 1/1 Running 0 69s
[root@vms10 1.8+]#
稍等几分钟,可以通过下面的命令查看到每个node及pod的资源消耗:
[root@vms10 ~]# kubectl top nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
vms10.rhce.cc 130m 6% 1355Mi 35%
vms11.rhce.cc 49m 2% 529Mi 13%
vms12.rhce.cc 53m 2% 527Mi 13%
[root@vms10 ~]#
[root@vms10 ~]# kubectl top pods -n kube-system
NAME CPU(cores) MEMORY(bytes)
calico-kube-controllers-675d8749dd-mnnd6 1m 10Mi
calico-node-fb4z4 28m 22Mi
...输出...
kube-scheduler-vms10.rhce.cc 3m 15Mi
metrics-server-6dc459d577-rqr8d 1m 11Mi
[root@vms10 ~]#
特别注意:
在前面创建calico网络的时候,请务必把calico里的网段设置为和初始化时所指定的pod网络一致,我们在使用kubeadm init时指定了--pod-network-cidr=10.244.0.0/16,所以需要用一定要用如下命令:
sed -i 's/192.168.0.0/10.244.0.0/g' calico_v3.10.yaml
修改calico的网络,这样metrics-server运行起来之后,它的IP是在10.244.0.0/16内的:
[root@vms10 1.8+]# kubectl get pods -n kube-system -o wide | grep metri
metrics-server-6dc459d577-rqr8d 1/1 Running 0 4m58s 10.244.81.65 vms11.rhce.cc <none> <none>
[root@vms10 1.8+]#
否则会出现只能监测个别节点的错误,如下: