美文网首页
K8s 核心监控聚合器 metrics-server

K8s 核心监控聚合器 metrics-server

作者: 归海听雪 | 来源:发表于2021-08-17 11:12 被阅读0次

    一、环境

    1、操作系统:CentOS Linux 7 (Core)

    2、docker:docker://20.10.7

    3、k8s:v1.20.4

    4、metrics-server:v0.4.2

    二、简介

    Kubernetes Metrics Server 是 Cluster 的核心监控数据的聚合器,kubeadm 默认是不部署的。

    Metrics Server 供 Dashboard 等其他组件使用,是一个扩展的 APIServer,依赖于 API Aggregator。所以,在安装 Metrics Server 之前需要先在 kube-apiserver 中开启 API Aggregator。

    Aggregator开启

    这个是k8s在1.7的新特性,如果是1.16版本的可以不用添加,1.17以后要添加。这个参数的作用是Aggregation允许在不修改Kubernetes核心代码的同时扩展Kubernetes API。

    开启方法:要在master机器上执行

    vim /etc/kubernetes/manifests/kube-apiserver.yaml

        - --enable-aggregator-routing=true  //加入这一行

    ----------------------------------------------------------------------------------------

    - command:

        - kube-apiserver

        - --advertise-address=192.168.10.127

        - --allow-privileged=true

        - --authorization-mode=Node,RBAC

        - --client-ca-file=/etc/kubernetes/pki/ca.crt

        - --enable-admission-plugins=NodeRestriction

        - --enable-bootstrap-token-auth=true

        - --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt

        - --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt

        - --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key

        - --etcd-servers=https://127.0.0.1:2379

        - --insecure-port=0

        - --enable-aggregator-routing=true  //加入这一行

    -----------------------------------------------------------------------------------------------------------------------

    然后在master的机器上执行

    kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml

    二、部署

    部署(国内加速镜像一键部署)

    #由于GFW,metrics镜像已替换成国内镜像,同时下载地址也替换成国内地址,当前版本:v0.4.2

    #官方更新地址:https://github.com/kubernetes-sigs/metrics-server

    #自定义添加--kubelet-insecure-tls 跳过 TLS 认证,否则会出现 x509 的认证问题

    #自定义添加--kubelet-preferred-address-types=InternalIP 使用 Node IP 进行通信。

    kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.2/components.yaml

    三、部署完后就可以执行

    # kubectl top node

    NAME      CPU(cores)  CPU%  MEMORY(bytes)  MEMORY%

    minio-1  43m          2%    1064Mi          56%

    minio-2  40m          2%    1159Mi          61%

    minio-3  32m          3%    1208Mi          63%

    minio-4  98m          4%    1329Mi          70%

    # kubectl top pod

    NAME                          CPU(cores)  MEMORY(bytes)

    curl                          0m          0Mi

    nginx-php74-5fbd6f7c48-wc2xz  0m          14Mi

    php-fpm74-6dfd9d9b4c-gq6mx    1m          21Mi

    ##然后再k8s面版上就可以时时看到这个node和pod的 cpu和内存的监控数据

    相关文章

      网友评论

          本文标题:K8s 核心监控聚合器 metrics-server

          本文链接:https://www.haomeiwen.com/subject/fnibbltx.html