首页 > 其他分享 >K8S系统监控:使用Metrics Server和Prometheus

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

时间:2023-08-21 23:03:22浏览次数:38  
标签:kubectl top Server Metrics Prometheus Pod 节点

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

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

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

K8S系统监控:使用Metrics Server和Prometheus_k8s_02编辑

它调用 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 把这些数据交给外界使用。

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

K8S系统监控:使用Metrics Server和Prometheus_k8s_04在 Prometheus Server 之外还有三个重要的组件:

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


标签:kubectl,top,Server,Metrics,Prometheus,Pod,节点
From: https://blog.51cto.com/key3feng/7180568

相关文章

  • linux上SQL Server 配置管理器的使用
    概述我们知道Windows平台上的SQLServer配置管理器是一个图形工具,用于管理与SQLServer关联的服务、配置SQLServer使用的网络协议以及管理SQLServer客户端计算机的网络连接配置。我们还可以使用SQLServer配置管理器来启动、暂停、恢复或停止服务,查看服务属性或更改服务......
  • SpringBoot复习:(42)WebServerCustomizer的customize方法是在哪里被调用的?
    ServletWebServletAutoConfiguration类定义如下:可以看到其中通过@Import注解导入了其内部类BeanPostProcessorRegister。BeanPostProcessor中定义的registerBeanDefinition方法会被Spring容器调用。registerBeanDefinitions方法调用了RegistrySyntheticBeanIfMissing方法,这个方......
  • SpringBoot复习:(38)WebServerFactoryCustomizer
    可以通过这种方式对内嵌的Servlet容器进行配置packagecn.edu.tju.config;importorg.springframework.boot.web.server.ConfigurableWebServerFactory;importorg.springframework.boot.web.server.WebServerFactory;importorg.springframework.boot.web.server.WebServerFac......
  • SpringBoot复习:(41)配置文件中配置的server开头的属性是怎么配置到Servlet容器中起作用
    ServletWebServerFactoryAutoConfiguration类:可以看到其中使用了@EnableConfigurationProperties导入了ServerProperties而ServerProperties通过使用@ConfigurationProperties注解导入了配置文件中已server开头的那些配置项。可以看到ServletWebServerFactory定义了一个类型为Se......
  • RHEL5 快速配置VNC Server
    RHEL5默认已经安装了VNCServer软件包,只要在服务列表中选中启动一下就可以。通过编辑文件~HOME/.vnc/xstartup来启动你喜欢的窗口管理器。使用startkde&来启动KDE,使用gnome-session&来启动GNOME。 一、启动VNCServer服务:使用vncserver命令(在当前用户主目录下生成.vnc文件夹......
  • 查询SQL SERVER数据库会话阻塞
    SELECT[session_id],[blocking_session_id]AS'正在阻塞其他会话的会话ID',DB_NAME([database_id])AS'数据库名称',[request_id],[cpu_time],[start_time]AS'开始时间',[status]AS'状态',[command]AS'命令',......
  • python刷小红书流量(小眼睛笔记访问量),metrics_report接口,原理及代码,以及x-s签名验证202
    一、什么是小眼睛笔记访问量 如下图所示,为笔记访问量。二、小眼睛笔记访问量接口1、urlhttps://edith.xiaohongshu.com/api/sns/web/v1/note/metrics_report2、payloaddata={"note_id":note_id,"note_type":note_type,"report_type":1,......
  • 测试使用QT来连接SQLServer并取出表格数据
    测试使用QT来连接SQLServer并取出表格数据添加引用工程文件需要加入 QT+=sql在main.cpp添加头文件引用//添加头文件#include<qdebug.h>#include<QSqlDatabase>#include<QSqlError>#include<QSqlQuery>连接数据库QSqlDatabasedb=QSqlDatabase::addDatabase("QODBC");......
  • SQL Server游标
    文章来源:SQLServer游标-张龙豪-博客园(cnblogs.com) --5.利用游标更新删除数据---游标更新删除当前数据---1.声明游标declareorderNum_03_cursorcursorscrollforselectOrderId,userIdfrombigorderwhereorderNum='ZEORD003402'--2.打开游标openorder......
  • SQL Server触发器
    文章来源: SQLServer触发器-hoojo-博客园(cnblogs.com)--触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。--而存储过程可以通过存储过程的名称被调用。--触发器对表进行插入、更新、删除的时候会自......