上一篇主要介绍了通过Kubernetes API获取集群资源信息,这一篇介绍如何部署metrics-server去监听资源的使用指标,例如Pod中CPU /Mem使用情况。
一、下载metrics-server
首先在GitHub(https://github.com/kubernetes-sigs/metrics-server)中下载对应k8s版本的metrics-server配置,我这里下载的是0.3.6版本。
1625876131642.jpg下载完毕后解压
tar -xzvf metrics-server-0.3.6.tar
二、修改配置文件
因为墙的原因,依赖的镜像无法顺利下载,所以需要修改一下配置文件。
cd metrics-server-0.3.6/deploy/1.8+
vim metrics-server-deployment.yaml
修改后的内容如下:主要变动点是替换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
三、创建服务
修改完配置后,通过kubectl命令去拉起所有服务。
cd metrics-server-0.3.6/deploy/1.8+
kubectl apply -f .
1625876610434.jpg
正常的话,所有k8s的对象都会创建。
四、查看效果
分别执行命令,就可以查看metrics-server是否正常,以及查询的pod资源结果。
kubectl get pods -n kube-system
kubectl top nodes
kubectl top pods
1625876768381.jpg
参考文章:
网友评论