K8S 安装Metrics Server

前言

初次使用hpa 的时候发现始终无法使用起来,在网上查了半天发现是需要安装Metrics Server的
php-apache    Deployment/php-apache   <unknown>/50%   1         10        1          61s

下面是我对照着参考链接部署过程,相对比较顺利,写这篇文章用于做笔记

参考

https://blog.csdn.net/nklinsirui/article/details/109413053

一、Metrics Server是什么?

kubernetes 集群资源监控之前可以通过 heapster 来获取数据,在 1.11 开始开始逐渐废弃 heapster 了,采用 metrics-server 来代替,metrics-server 是集群的核心监控数据的聚合器,它从 kubelet 公开的 Summary API 中采集指标信息,metrics-server 是扩展的 APIServer,依赖于kube-aggregator,因为我们需要在 APIServer 中开启相关参数。

二、安装

1、下载Metrics Server的Manifest文件:

https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml

2、修改components.yaml

  1. 修改Deployment镜像,并在.spec.template.spec.containers.args 下添加:
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname

具体配置如下

 containers:
      - name: metrics-server
        image: registry.cn-shenzhen.aliyuncs.com/cookcodeblog/metrics-server:v0.3.7       # k8s.gcr.io/metrics-server/metrics-server:v0.3.7
        imagePullPolicy: IfNotPresent
        args:
          - --cert-dir=/tmp
          - --secure-port=4443
          - --kubelet-insecure-tls     # 跳过kubelet CA 证书验证
          - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname #连接到Kubelet时要考虑Kubelet节点地址类型。

3、安装Metrics Server

kubectl apply -f components.yaml

##查看服务是否正常运行
[root@k8s-master1 hpa]# kubectl get deployment metrics-server -n kube-system
NAME             READY   UP-TO-DATE   AVAILABLE   AGE
metrics-server   1/1     1            1           23m
[root@k8s-master1 hpa]# kubectl get pods -n kube-system -l k8s-app=metrics-server
NAME                              READY   STATUS    RESTARTS   AGE
metrics-server-5c88d6f497-jqkr4   1/1     Running   0          23m

等待几分钟后,验证是否可以从Metrics Server查询到资源使用情况:

kubectl top nodes
kubectl top pods -A

如果出现“error: metrics not available yet”,则等待几分钟后再尝试。如果一直报错,需要先检查网络组件是否正常工作,再检查Metrics Server的日志。

你可能感兴趣的:(k8s,k8s)