K8s 核心监控聚合器 metrics-server

一、环境

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_第1张图片

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