上一篇主要介紹了通過(guò)Kubernetes API獲取集群資源信息,這一篇介紹如何部署metrics-server去監(jiān)聽資源的使用指標(biāo),例如Pod中CPU /Mem使用情況。
一、下載metrics-server
首先在GitHub(https://github.com/kubernetes-sigs/metrics-server)中下載對(duì)應(yīng)k8s版本的metrics-server配置,我這里下載的是0.3.6版本。

1625876131642.jpg
下載完畢后解壓
tar -xzvf metrics-server-0.3.6.tar
二、修改配置文件
因?yàn)閴Φ脑?,依賴的鏡像無(wú)法順利下載,所以需要修改一下配置文件。
cd metrics-server-0.3.6/deploy/1.8+
vim metrics-server-deployment.yaml
修改后的內(nèi)容如下:主要變動(dòng)點(diǎn)是替換image、imagePullPolicy、新增command。
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: metrics-server
namespace: kube-system
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: metrics-server
namespace: kube-system
labels:
k8s-app: metrics-server
spec:
selector:
matchLabels:
k8s-app: metrics-server
template:
metadata:
name: metrics-server
labels:
k8s-app: metrics-server
spec:
serviceAccountName: metrics-server
volumes:
# mount in tmp so we can safely use from-scratch images and/or read-only containers
- name: tmp-dir
emptyDir: {}
containers:
- name: metrics-server
image: mirrorgooglecontainers/metrics-server-amd64:v0.3.6 # 修改鏡像源
imagePullPolicy: IfNotPresent # 修改pull的策略
command: # 新增初始命令
- /metrics-server
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP
volumeMounts:
- name: tmp-dir
mountPath: /tmp
三、創(chuàng)建服務(wù)
修改完配置后,通過(guò)kubectl命令去拉起所有服務(wù)。
cd metrics-server-0.3.6/deploy/1.8+
kubectl apply -f .

1625876610434.jpg
正常的話,所有k8s的對(duì)象都會(huì)創(chuàng)建。
四、查看效果
分別執(zhí)行命令,就可以查看metrics-server是否正常,以及查詢的pod資源結(jié)果。
kubectl get pods -n kube-system
kubectl top nodes
kubectl top pods

1625876768381.jpg
參考文章: