Kubernetes认证考试自学系列 | 设置metric-server监控pod及节点的负载

书籍来源:《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》

一边学习一边整理读书笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Kubernetes认证考试自学系列 | 汇总_COCOgsta的博客-CSDN博客


如果想查看kubernetes集群里每个节点及每个pod的CPU负载、内存负载,需要安装监控,可安装metric-server。

步骤1:在所有节点上下载镜像。

[root@vmsX ~]# docker pull mirrorgooglecontainers/metrics-server-amd64:v0.3.6
复制代码

步骤2:在所有节点上进行tag操作,形成一个新镜像。

[root@vmsX ~]# docker tag mirrorgooglecontainers/metrics-server-amd64:v0.3.6
k8s.gcr.io/metrics-server-amd64:v0.3.6
[root@vmsX ~]#
复制代码

步骤3:在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 ~]#
复制代码

步骤4:解压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。

containers:
- name: metrics-server 
  image: k8s.gcr.io/metrics-server-amd64:v0.3.6
  imagePullPolicy: IfNotPresent 
  command:
  - /metrics-server 
  - --metric-resolution=30s
  - --kubelet-insecure-tls
  - --kubelet-preferred-address-types=InternalIP
  volumeMounts:
复制代码

步骤5:运行当前目录所有文件。

[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+]#
复制代码

步骤6:查看metrics-server的pod运行状态。

[root@vms10 1.8+]# kubectl get pods -n kube-system | grep metric 
metrics-server-bcfb98c76-x6c51           1/1     Running   0          13s 
[root@vms10 1.8+]#
复制代码

稍等几分钟,可以通过kubectl top命令查看每个node及pod的资源消耗。

步骤7:查看节点的负载。

[root@vms10 ~]# kubectl top nodes --use-protocol-buffers
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 ~]#
复制代码

步骤8:查看pod的负载。

[root@vms10 ~]# kubectl top pods -n kube-system --use-protocol-buffers 
NANE                                        CPU(cores)     MEMORY(bytes)
calico-kube-controllers-6dfcd885bf-7tjd6      1m             10Mi 
calico-node-gpt4b                             28m            22Mi
        ...输出...
[root@vms10 ~]#
复制代码
[root@vms10 1.8+]# kubectl get pods -n kube-system -o wide | grep metri
metrics-server-bcfb98c76-x6c51            1/1     Running   0          96s
   10.244.14.1    vms11.rhce.cc   <none>           <none>
[root@vms10 1.8+]# 

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/130469983