Kubernetes 部署 Metrics Server

Metrics Server简介

Metrics Server 是 Kubernetes 集群核心监控数据的聚合器,Metrics Server 从 Kubelet 收集资源指标,并通过 Merics API 在 Kubernetes APIServer 中提供给缩放资源对象 HPA 使用。也可以通过 Metrics API 提供的 Kubectl top 查看 Pod 资源占用情况,从而实现对资源的自动缩放。
在这里插入图片描述
官方文档:https://kubernetes-sigs.github.io/metrics-server/

项目地址:https://github.com/kubernetes-sigs/metrics-server

问题处理:https://github.com/kubernetes-sigs/metrics-server/issues/131#issuecomment-418405881

helm 部署 Metrics Server

参考:https://artifacthub.io/packages/helm/metrics-server/metrics-server

helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/

helm upgrade --install metrics-server \
  --namespace=kube-system \
  --set image.repository=registry.cn-shenzhen.aliyuncs.com/cnmirror/metrics-server \
  --set 'args={"--kubelet-insecure-tls=true","--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname"}' \
  metrics-server/metrics-server

参数说明:

  • 默认GCR镜像无法拉取,需要替换为国内地址
  • kubelet-insecure-tls 访问kubelet忽略tls证书效验
  • kubelet-preferred-address-types=InternalIP 使用 ip连接kubelet

查看创建的pods

root@ubuntu:~# kubectl get pods 
NAME                              READY   STATUS    RESTARTS      AGE
metrics-server-769cb6ccd4-s5tp5   1/1     Running   0             99s

查看 pods 指标

root@ubuntu:~# kubectl top pods
NAME                              CPU(cores)   MEMORY(bytes)   
busybox                           0m           0Mi             
centos                            0m           0Mi             
deployment-nfs-65bf4f7c4c-hwxxn   7m           3Mi             
metrics-server-6f979fb646-6mnhd   4m           16Mi            
nfs-server-78dd9fcbf4-vd5l2       3m           55Mi            
virt-launcher-testvm-4wts5        3m           133Mi           
virt-launcher-win2012vm-l6nr8     20m          2129Mi          
virt-launcher-win2022-8ntrn       7m           58Mi            
virt-launcher-win2022-vm1-tjvf7   5m           68Mi            

查看 nodes 指标

root@ubuntu:~# kubectl top nodes
NAME     CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master   197m         12%    5926Mi          84%       
node1    145m         9%     4813Mi          68%       
node2    194m         12%    5660Mi          80%       

查看apiserver

root@ubuntu:~# kubectl get apiservice | grep metrics-server
v1beta1.metrics.k8s.io                 default/metrics-server                 True        140m

yaml部署 Metrics Server

1、下载yaml文件

wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

2、修改metrics server启动参数

sed -e "s|\(\s\+\)- args:|\1- args:\n\1  - --kubelet-insecure-tls=true|" components.yaml

3、替换gcr镜像

sed -i "s#k8s.gcr.io/metrics-server/metrics-server#registry.cn-shenzhen.aliyuncs.com/cnmirror/metrics-server#g" components.yaml

修改后yaml文件改动如下

root@ubuntu:~# cat components.yaml
......
    spec:
      containers:
      - args:
        - --kubelet-insecure-tls
        - --cert-dir=/tmp
        - --secure-port=4443
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1

5、部署metrics-server

kubectl apply -f components.yaml

参考:
https://cloud.tencent.com/developer/article/1635996
http://www.mydlq.club/article/77/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

willops

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值