kubernetes - 14 资源监控Metrics-Server

1 Metrics-Server部署

Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。
容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,
用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。
Metrics API 只可以查询当前的度量数据,并不保存历史数据。
Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 维护。
必须部署 metrics-server 才能使用该 API,metrics-server 通过调用 Kubelet Summary API 获取数据。

Metrics Server 并不是 kube-apiserver 的一部分,而是通过 Aggregator 这种插件机制,在独立部署的情况下同 kube-apiserver 一起统一对外服务的。

kube-aggregator 其实就是一个根据 URL 选择具体的 API 后端的代理服务器。

在这里插入图片描述
Metrics-server属于Core metrics(核心指标),提供API metrics.k8s.io,仅提供Node和Pod的CPU和内存使用情况。而其他Custom Metrics(自定义指标)由Prometheus等组件来完成。

部署

资源下载:https://github.com/kubernetes-incubator/metrics-server
yaml文件下载:https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml

导入镜像,上传至私有仓库

在这里插入图片描述修改配置文件,将端口改为4443,镜像路径修改为私有仓库路径

在这里插入图片描述
可以看到虽然状态已经running,但是没有就绪,部署后还有不少坑需要填
在这里插入图片描述
部署后查看Metrics-server的Pod日志:

错误1:dial tcp: lookup server2 on 10.96.0.10:53: no such host

这是因为没有内网的DNS服务器,所以metrics-server无法解析节点名字。可以直接修改coredns的configmap,讲各个节点的主机名加入到hosts中,这样所有Pod都可以从CoreDNS中解析各个节点的名字。

kubectl edit configmap coredns -n kube-system  编辑文件

添加节点的解析
在这里插入图片描述

报错2:x509: certificate signed by unknown authority

Metric Server 支持一个参数 --kubelet-insecure-tls,可以跳过这一检查,然而官方也明确说了,这种方式不推荐生产使用。启用TLS Bootstrap 证书签发

# vim /var/lib/kubelet/config.yaml 	
...
serverTLSBootstrap: true  在末尾行添加,在三个节点上都需要操作

systemctl  restart kubelet 重启服务

在这里插入图片描述
查看三个节点的证书授权情况,都是pengding状态需要授权

在这里插入图片描述
进行授权,看到已经授权成功
在这里插入图片描述
查看pod已经running

在这里插入图片描述
svc已经正常运行
在这里插入图片描述
使用命令可以看到所有节点的cpu和内存资源使用情况
在这里插入图片描述也可以看到每个容器的使用情况
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值