Kubernetes(k8s)之资源监控

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属于Core metrics(核心指标),提供API metrics.k8s.io,仅提供Node和Pod的CPU和内存使用情况。而其他Custom Metrics(自定义指标)由Prometheus等组件来完成。

演示环境

server1:172.25.38.1	harbor仓库端
server2:172.25.38.2	k8s master端
server3:172.25.38.3	k8s node端
server4:172.25.38.4	k8s node端

Metrics-Server部署

先在仓库端获取镜像并上传到仓库
资源下载:https://github.com/kubernetes-incubator/metrics-server
在这里插入图片描述
新建一个目录,获取配置文件,执行如下命令:

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

修改配置文件,将镜像地址写为自己的
在这里插入图片描述
应用文件
在这里插入图片描述
监控的pod创建出来了,但有错
在这里插入图片描述
查看日志看是怎么回事kubectl logs metrics-server-6454465dcc-s55q4 -n kube-system,如下图是因为监听443端口被拒绝,没有权限
在这里插入图片描述
删掉pod等
在这里插入图片描述
修改端口为4443(因为要映射到真机端口,所以要大于1000,1000以下的端口在真机需要root权限才可以,而k8s操作是用的k8s账户)
在这里插入图片描述
重新应用又出现了如下错误,是因为没有证书
#Metric Server 支持一个参数 --kubelet-insecure-tls,可以跳过这一检查,然而官方也明说了,这种方式不推荐生产使用。
在这里插入图片描述
启用TLS Bootstrap 证书签发:在每一个节点(包括master)都做这个操作
在这里插入图片描述
编辑文件vim /var/lib/kubelet/config.yaml,在最后加入如图内容后重启
在这里插入图片描述
证书签名请求文件未通过的都通过了
在这里插入图片描述
这时再看pod,监控已经可以正常运行了
在这里插入图片描述
监控服务正常被调度,运行正常
在这里插入图片描述
使用kubectl top node命令监控节点状态
在这里插入图片描述
切换一个namespaces监控
在这里插入图片描述
下图命令可以查看节点详细信息
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值