CKA备考实验 | 设置metric-server监控pod及节点的负载

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

一边学习一边整理老师的课程内容及实验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:CKA备考实验 | 汇总_热爱编程的通信人的博客-CSDN博客


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

因为安装metrics-server的时候,所需要的镜像是http://k8s.gcr.io的,但是由于网络原因无法直接从http://k8s.gcr.io下载镜像,所以先从dockerio下载镜像,然后进行tag操作。

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

##########实操验证##########
[root@vms10 ~]# docker pull mirrorgooglecontainers/metrics-server-amd64:v0.3.6
v0.3.6: Pulling from mirrorgooglecontainers/metrics-server-amd64
e8d8785a314f: Pull complete 
b2f4b24bed0d: Pull complete 
Digest: sha256:c9c4e95068b51d6b33a9dccc61875df07dc650abbf4ac1a19d58b4628f89288b
Status: Downloaded newer image for mirrorgooglecontainers/metrics-server-amd64:v0.3.6
docker.io/mirrorgooglecontainers/metrics-server-amd64:v0.3.6
[root@vms10 ~]#

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

##########实操验证##########
[root@vms10 ~]# docker tag mirrorgooglecontainers/metrics-server-amd64:v0.3.6 k8s.gcr.io/metrics-server-amd64:v0.3.6
[root@vms10 ~]#

步骤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 ~]# tar zxvf metrics-server-v0.3.6.tar.gz
... #省略大量内容
[root@vms10 ~]# 
[root@vms10 ~]# cd kubernetes-sigs-metrics-server-d1f4f6f/deploy/1.8+/
[root@vms10 1.8+]# 
[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
Warning: rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding
clusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator created
Warning: rbac.authorization.k8s.io/v1beta1 RoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 RoleBinding
rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader created
Warning: apiregistration.k8s.io/v1beta1 APIService is deprecated in v1.19+, unavailable in v1.22+; use apiregistration.k8s.io/v1 APIService
apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created
serviceaccount/metrics-server created
deployment.apps/metrics-server created
service/metrics-server created
clusterrole.rbac.authorization.k8s.io/system:metrics-server created
clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server created
[root@vms10 1.8+]#

注意:在运行的时候,如果出现了Warning警告的话,直接忽略即可。

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

##########实操验证##########
[root@vms10 1.8+]# kubectl get pods -n kube-system | grep metric
metrics-server-bcfb98c76-4q69h             1/1     Running            0          17s
[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   210m         10%    1361Mi          37%       
vms11.rhce.cc   107m         5%     846Mi           23%       
vms12.rhce.cc   85m          4%     830Mi           22%       
[root@vms10 ~]#

注意:选项--use-protocol-buffers可以不写。

步骤8:查看pod的负载。

##########实操验证##########
[root@vms10 ~]# kubectl top pods -n kube-system --use-protocol-buffers
NAME                                       CPU(cores)   MEMORY(bytes)   
calico-kube-controllers-7cc8dd57d9-b5x6t   2m           19Mi            
calico-node-9z2qw                          33m          99Mi            
calico-node-hspxm                          36m          83Mi            
calico-node-rkchd                          28m          90Mi            
etcd-vms10.rhce.cc                         12m          57Mi            
kube-apiserver-vms10.rhce.cc               64m          366Mi           
kube-controller-manager-vms10.rhce.cc      16m          58Mi            
kube-proxy-6kmms                           1m           22Mi            
kube-proxy-c2qp2                           1m           23Mi            
kube-proxy-nbz4t                           1m           24Mi            
kube-scheduler-vms10.rhce.cc               2m           25Mi            
metrics-server-bcfb98c76-4q69h             1m           13Mi            
[root@vms10 ~]#

注意:在前面创建calico网络的时候,请务必把calico里的网段设置为和初始化时所指定的pod网络一致。我们在使用kubeadm init时指定了--pod-network-cidr=10.244.0.0/16,所以一定要修改calico的网络,这样metrics-server运行起来之后,它的IP是在10.244.0.0/16内的。

##########实操验证##########
[root@vms10 ~]# kubectl get pods -n kube-system -o wide | grep metri
metrics-server-bcfb98c76-4q69h             1/1     Running            0          3m28s   10.244.14.3     vms12.rhce.cc   <none>           <none>
[root@vms10 ~]#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值