K8S系统监控:使用Metrics Server和Prometheus

news/2024/11/17 4:38:25/

Kubernetes 也提供了类似的linux top的命令,就是 kubectl top,不过默认情况下这个命令不会生效,必须要安装一个插件 Metrics Server 才可以。

Metrics Server 是一个专门用来收集 Kubernetes 核心资源指标(metrics)的工具,它定时从所有节点的 kubelet 里采集信息,但是对集群的整体性能影响极小,每个节点只大约会占用 1m 的 CPU 和 2MB 的内存,所以性价比非常高。

它调用 kubelet 的 API 拿到节点和 Pod 的指标,再把这些信息交给 apiserver,这样 kubectl、HPA 就可以利用 apiserver 来读取指标了。

Metrics Server 的所有依赖都放在了一个 YAML 描述文件里,你可以使用 wget 或者 curl 下载:

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

kubectl top 来查看 Kubernetes 集群当前的资源状态了。它有两个子命令,node 查看节点的资源使用率,pod 查看 Pod 的资源使用率。

kubectl top node
kubectl top pod -n kube-system

Kubernetes 为此就定义了一个新的 API 对象,叫做“HorizontalPodAutoscaler”,简称是“hpa”。它是专门用来自动伸缩 Pod 数量的对象,适用于 Deployment 和 StatefulSet。

HorizontalPodAutoscaler 的能力完全基于 Metrics Server,它从 Metrics Server 获取当前应用的运行指标,主要是 CPU 使用率,再依据预定的策略增加或者减少 Pod 的数量。

Prometheus 系统的核心是它的 Server,里面有一个时序数据库 TSDB,用来存储监控数据,另一个组件 Retrieval 使用拉取(Pull)的方式从各个目标收集数据,再通过 HTTP Server 把这些数据交给外界使用。

 在 Prometheus Server 之外还有三个重要的组件:

  • Push Gateway,用来适配一些特殊的监控目标,把默认的 Pull 模式转变为 Push 模式。
  • Alert Manager,告警中心,预先设定规则,发现问题时就通过邮件等方式告警。
  • Grafana 是图形化界面,可以定制大量直观的监控仪表盘。

此文章为7月Day24学习笔记,内容来源于极客时间《Kubernetes入门实战课》,推荐该课程。


http://www.ppmy.cn/news/977660.html

相关文章

关于阅读《重构的时机和方法》这本书所带来的启发

前言 近期,我阅读了由克里斯蒂安克劳森(Christian Clausen)写的、由郭涛翻译的《重构的时机和方法》这本书,读完这本书的内容你会发现《重构的时机和方法》是一本经典的软件开发书籍,它能够帮助软件开发人员提高代码质…

Centos8+Jenkins+微信小程序前端自动发布体验版

文章目录 **一、 实现:****二、项目:****三、环境配置:****四、步骤:****五、遇到的问题** 一、 实现: jenkins打通微信开发平台,自动上传代码 二、项目: 微信小程序原生开发 三、环境配置&…

临渊羡鱼,不如退而结网。(做一个对未来的乐观派,规规矩矩地成为实力派。)

文章目录 引言I 悲观主义1.1 原因1.2 危害II 乐观主义者的做事情方法2.1 积累的效应2.2 相比历史,未来更重要。2.3 成为一个实力派2.4 凡战者,以正合,以奇胜。see also引言 未来会比今天更好,这是我们应有的信心。做一个对未来的乐观派,规规矩矩地成为实力派。临渊羡鱼,…

js 对象中替换键名,值不变;对象中键的值是数组,将数组转换为字段串格式

需求1:在对象中需要键名为’a’的键改为‘b’,并保持值不变 先使用 Object.keys() 方法获取对象的所有键名,Array.prototype.reduce() 方法遍历键名数组,并创建一个新的对象。 遍历过程中,使用新的键名存储旧键名对应…

【计算机编程语言】MySQL8+JDBC+Eclipse

文章目录 MySQL1.简介1.1数据库分类1.2MySQL 2.基础2.1数据类型2.1.1数值2.1.2字符串2.1.3时间/日期2.1.4null 2.2字段属性2.3数据库引擎2.4设置字符集编码2.5创建数据库/表2.6修改/删除 表 3.数据管理3.1外键(了解)3.2DML3.3INSERT3.4UPDATE3.5DELECT3.…

静态html引入ucharts并直接使用组件标签

由于官方不能直接使用qiun-vue-ucharts在静态html页面使用。 DIY可视化对此类库进行了改进,把它的包独立打包成一个可以依赖的JS。 首先定义一个核心JS,用于打包生成uchart import qiunVueUcharts from qiun/vue-ucharts;const install (app) > {…

【多选框、表格全选】element el-checkbox、el-table

话不多说 先看效果&#xff1a; 多选框&#xff1a; 表格全选&#xff1a; <template><div><div class"titleLabel"><div class"lineStyle"></div>统计部门</div><div style"display: flex"><e…

Arcgis之 KML/KMZ文件转shp

一般我们在Goole Earth上勾画的区域导出后都为KML或者KMZ格式的&#xff0c;但无法在arcgis等软件上直接应用&#xff0c;故需进行一定的转换 1.打开ArcMap&#xff0c;选择ArcToolbox->Conversion Tools->From KML->KML To Layer 得到如下结果&#xff08;由于本KML…