Kubernetes 部署metrics-server

metrics-server:

用于监测node,pod等的CPU,内存使用情况。

官方:GitHub

一、开启聚合层

[root@master1 ~]# ll /etc/kubernetes/pki/
total 56
-rw-r--r-- 1 root root 1220 Jul 25 16:09 apiserver.crt
-rw-r--r-- 1 root root 1090 Jul 25 16:09 apiserver-etcd-client.crt
-rw------- 1 root root 1679 Jul 25 16:09 apiserver-etcd-client.key
-rw------- 1 root root 1675 Jul 25 16:09 apiserver.key
-rw-r--r-- 1 root root 1099 Jul 25 16:09 apiserver-kubelet-client.crt
-rw------- 1 root root 1675 Jul 25 16:09 apiserver-kubelet-client.key
-rw-r--r-- 1 root root 1025 Jul 25 16:09 ca.crt
-rw------- 1 root root 1679 Jul 25 16:09 ca.key
drwxr-xr-x 2 root root  162 Jul 25 16:09 etcd
-rw------- 1 root root 1679 Jul 25 16:09 sa.key
-rw------- 1 root root  451 Jul 25 16:09 sa.pub
## 以下几个文件
-rw-r--r-- 1 root root 1038 Jul 25 16:09 front-proxy-ca.crt
-rw------- 1 root root 1675 Jul 25 16:09 front-proxy-ca.key
-rw-r--r-- 1 root root 1058 Jul 25 16:09 front-proxy-client.crt
-rw------- 1 root root 1675 Jul 25 16:09 front-proxy-client.key

修改apiserver文件,新增配置

[root@master1 ~]#  vim /etc/kubernetes/manifests/kube-apiserver.yaml
    ········
    - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
    - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
    - --requestheader-allowed-names=aggregator
    - --requestheader-extra-headers-prefix=X-Remote-Extra-
    - --requestheader-group-headers=X-Remote-Group
    - --requestheader-username-headers=X-Remote-User
    - --runtime-config=api/all=true
    - --enable-aggregator-routing=true
    
    ······

重启

[root@master1 ~]#  systemctl restart kubelet.service

二、下载部署文件

#百度盘
链接:https://pan.baidu.com/s/1hJUOSaBWpwkSGTSU2mu4Iw 
提取码:x951

#GitHub
https://github.com/kubernetes-sigs/metrics-server/tree/v0.3.6

git clone git@github.com:kubernetes-sigs/metrics-server.git

三、修改对应文件,添加和修改

[root@master1 ~]# cd yml/metrics/metrics/metrics-server-0.3.6/deploy/1.8+/
[root@master1 1.8+]# vim metrics-server-deployment.yaml
            ······
 30       - name: metrics-server
            ## 修改国内镜像
 31         image: registry.cn-hangzhou.aliyuncs.com/ljck8s/metrics-server-amd64:v0.3.6
 32         imagePullPolicy: IfNotPresent
 33         # 添加command
            command:
 34         - /metrics-server
 35         - --metric-resolution=30s
 36         - --kubelet-insecure-tls
 37         - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
           
            ·····

四、部署

[root@master1 1.8+]# kubectl apply -f .
[root@master1 1.8+]#  kubectl -n kube-system get pods -l k8s-app=metrics-server
NAME                              READY   STATUS    RESTARTS   AGE
metrics-server-55fd55578c-g6rpc   1/1     Running   1          49m


[root@master1 1.8+]# kubectl -n kube-system logs -l k8s-app=metrics-server -f

五、查看资源监控

[root@master1 1.8+]# kubectl top node
NAME      CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master1   252m         6%     1471Mi          18%       
node1     65m          1%     1379Mi          23%       
node2     60m          1%     1170Mi          19%     


[root@master1 1.8+]# kubectl top pod --all-namespaces
NAMESPACE       NAME                                   CPU(cores)   MEMORY(bytes)   
cattle-system   cattle-cluster-agent-f8cf7b4c4-4gqc8   2m           72Mi            
cattle-system   cattle-node-agent-2w574                1m           25Mi            
cattle-system   cattle-node-agent-8km6q                1m           25Mi            
cattle-system   cattle-node-agent-s54gr                1m           31Mi            
kube-system     calico-node-fgqk4                      17m          31Mi            
kube-system     calico-node-j26hq                      33m          30Mi            
kube-system     calico-node-v6cw6                      16m          32Mi            
kube-system     coredns-7ff77c879f-s7w8f               3m           11Mi            
kube-system     coredns-7ff77c879f-tpqjb               4m           11Mi            
kube-system     etcd-master1                           24m          65Mi            
kube-system     kube-apiserver-master1                 73m          375Mi           
kube-system     kube-controller-manager-master1        27m          45Mi            
kube-system     kube-proxy-4wmwk                       1m           12Mi            
kube-system     kube-proxy-hn97q                       1m           14Mi            
kube-system     kube-proxy-qwj2w                       1m           12Mi            
kube-system     kube-scheduler-master1                 5m           16Mi            
kube-system     metrics-server-55fd55578c-g6rpc        1m           11Mi            
kube-system     traefik-ingress-controller-bpvgj       3m           17Mi            
kube-system     traefik-ingress-controller-cjb9k       3m           17Mi            
kube-system     traefik-ingress-controller-xr5kn       7m           18Mi      


六、部署METRICS-SERVER时遇到的问题

[root@master1 ~]# kubectl top node
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io)

修改apiserver文件(在第一步,开启聚合层)
查看日志报错:
net/http: TLS handshake timeout

修改[root@master1 certs]# cat /etc/docker/daemon.json 

将registry-mirrors中  http的镜像加速源去掉即可
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值