首页 > 其他分享 >K8S的资源监控与资源指标

K8S的资源监控与资源指标

时间:2023-04-12 23:07:18浏览次数:31  
标签:容器 Kubernetes 指标 集群 监控 K8S 节点 资源

Kubernetes系统上的关键指标大体可以分为两个主要组成部分:集群系统本身的指标容器应用相关的指标。对于集群系统本身相关的监控层面而言,监控整个Kubernetes集群的健康状况是最核心的需求,包括所有工作节点是否运行正常、系统资源容量大小、每个工作节点上运行的容器化应用的数量以及整个集群的资源利用率等,它们通常可分为如下一些可衡量的指标。

1)节点资源状态:多数指标都与节点上的系统资源利用状况有关,例如网络带宽、磁盘空间、CPU和内存的利用率等,它们也是管理员能够评估集群规模合理性的重要标准。

2)节点数量:在公有云服务商以实例数量计费的场景中,根据集群整体应用的资源需求规模实时调整集群节点规模是常见的弹性伸缩应用场景之一,而实时了解集群中的可用节点数量也给了用户计算所需支付费用的参考标准。

3)活动Pod对象的数量:正在运行的Pod对象数量常用于评估可用节点的数量是否足够,以及在节点发生故障时它们是否能够承接整个工作负载等。

这些应用的监控需求通常可以大体分为3类:应用编排指标、容器指标和应用程序指标。

1)应用编排指标:用于监视特定应用程序相关的Pod对象的部署过程、当前副本数量、期望的副本数量、部署过程进展状态、健康状态监测及网络服务器的可用性等,这些指标数据需要经由Kubernetes系统接口获取。

2)容器指标:包括容器的资源需求、资源限制以及CPU、内存、磁盘空间、网络带宽等资源的实际占用状况等。

3)应用程序指标:应用程序内置的指标,通常与其所处理的业务规则相关,例如,关系型数据库应用程序可能会内置用于暴露索引状态的指标,以及表和关系的统计指标等。监控集群所有节点的常用方法之一是通过DaemonSet控制器在各节点部署一个采集监控指标数据的代理程序,由代理程序将节点级采集的各种指标数据上报至监控服务端,以统一进行数据的处理、存储和展示。这种部署方式给了管理员很大的自主选择空间,但也必定难以形成统一之势。

监控集群所有节点的常用方法之一通过DaemonSet控制器在各节点部署一个采集监控指标数据的代理程序,由代理程序将节点级采集的各种指标数据上报至监控服务端,以统一进行数据的处理、存储和展示。这种部署方式给了管理员很大的自主选择空间,但也必定难以形成统一之势。

新一代的Kubernetes监控系统架构主要由核心指标流水线和监控指标流水线共同组成。

(1)核心指标管道

由kubelet、资源评估器、Metrics Server以及提供关键指标API的API Server共同组成,它们为Kubernetes系统提供核心指标。Metrics Server通过服务发现机制发现集群上的所有节点,而后自动采集每个节点上kubelet的CPU和内存使用状态。kubelet完全能够基于容器运行时接口获取容器的统计信息,同时为了能够兼容较旧版本的Docker,它也支持从内部集成的cAdvisor采集资源指标信息,这些指标数据经由kubelet守护进程监听TCP的10250端口,并以只读方式对外提供,最终由Metrics Server完成聚合后对外公开。

K8S的资源监控与资源指标_K8S

截至目前,核心指标管道中的指标主要包括CPU累计使用、内存即时利用率、Pod资源占用率及容器的磁盘占用率等。这些度量标准的核心系统组件包括调度逻辑(基于指标数据的调度程序和应用规模的水平缩放),以及部分UI组件(例如kubectl top命令和Dashboard)等。

(2)监控管道

监控指标相关的管道负责从系统收集各种指标数据,并提供给终端用户、存储系统以及HPA控制器等使用。事实上,监控管道会收集包含核心指标(未必是Kubernetes可解析的格式)在内的大多数指标,核心指标集合之外的其他指标通常称为非核心指标。Kubernetes自定义指标API允许用户扩展任意数量的、特定于应用程序的指标,例如队列长度、每秒入站请求数等。Kubernetes系统自身既不会提供这类组件,也不为这些指标提供相关的解释,它依赖于用户使用的第三方整体解决方案。

K8S的资源监控与资源指标_K8S_02

资源指标API的主流实现是Metrics Service项目,而自定义指标API则以构建在Prometheus[1]之上的k8s-prometheus-adapter接受最为广泛

标签:容器,Kubernetes,指标,集群,监控,K8S,节点,资源
From: https://blog.51cto.com/key3feng/6186335

相关文章

  • k8s详细教程零基础
    Kubernetes(k8s)作为云原生的核心平台,吸引了越来越多的运维、开发、测试以及其他技术员去了解学习,随着行业越来越内卷,k8s已经被广泛使用,作为一名运维人员,k8s将成为一个必须掌握的技术点·,同时,我们也可以依靠它跳槽涨薪。一、什么是k8s它前生是谷歌的Borg系统,后经过Go语言重写,在2014......
  • 63、K8S-使用K8S部署Prometheus、grafana
    Kubernetes学习目录1、准备工作1.1、教程Github地址https://github.com/prometheus-operator/kube-prometheus.git1.2、下载编写好的yamlwgethttps://github.com/prometheus-operator/kube-prometheus/archive/refs/tags/v0.12.0.tar.gz1.3、解压项目代码tarxvfkub......
  • 服务器安全监控是什么有什么作用
    服务器安全监控是什么有什么作用服务器安全监控有什么作用?当服务(HTTP、SMTP等)出现故障时,机房设备会收到警报。如果我们的服务器容易受到新软件错误的流量入侵,或者如果有人试图暴力入侵我们的密码,这时候服务器安全监控就尤为重要了通过监视服务器的安全事件,将能够防止安全问题,而......
  • POE网络监控摄像机保护用TVS/ESD二极管如何选型?
    POE摄像头,POE网络摄像机,又称为以太网供电网络摄像机,是属于监控摄像机的一种。都知道,POE以太网供电网络摄像机采用的是网线供电,只要一根网线就可以同时传输视频信号给摄像头供电。那么,其供电的核心器件是什么呢?对,是POE交换芯片!为防止静电或浪涌电压损坏POE交换芯片,应该怎么办呢?针对P......
  • Windows11下载安装Git,并上传资源到gethub操作指南
    git官网下载地址:《https://git-scm.com/》下载完成后,进行安装…安装路径自选,普通安装即可安装完成后,右击任意文件都会出现git的图标,说明安装成功了......
  • k8s---Calico网络
    什么是calico?Calico是一种开源网络和网络安全解决方案,适用于容器、虚拟机和基于主机的本机工作负载。Calico支持广泛的平台,包括Kubernetes,OpenShift,MirantisKubernetesEngine(MKE),OpenStack和裸机服务。无论您选择使用Calico的eBPF数据平面还是Linux的标准网络管道,Calico......
  • Win7资源管理器自动关闭或者重启问题解决办法
    方法1:故障现象:提示win7资源管理器已停止工作解决办法:1.打开任务管理器,点“文件”,再点”新建任务”,在”打开”后面打上explorer.exe确定2.找到WinRAR,点”选项”,”设置”,”综合”,“把WinRAR整合到资源管理器中”的勾消除就行了方法2故障现象:Windows7出现资源管理器自......
  • 金融系统IT运维监控的探索与实践
    一、背景介绍金融行业作为国内信息化发展最早、最成熟的行业之一,在数字化应用不断深入的情况下,传统运维面对微服务、容器、虚拟化等显得愈加力不从心,金融行业要建立与全新架构能力相匹配的运维体系,提升业务运营感知能力、基础架构运维掌控能力和敏捷业务支撑能力,保障业务连续性和安......
  • 性能测试之jmeter脚本监控3
    1,influxDb数据库2,安装influxDB服务3,配置jmeter监听器,后端监听器4,配置grafana可视化工具本文永久更新地址:1,influxDb数据库InfluxDB以更少的代码为分析、物联网和云原生服务构建实时应用程序。其核心是一个数据库,专门用于处理由传感器、应用程序和基础设施生成的海量数......
  • grafana+influxdb2+jmeter5.4搭建服务监控平台
    一.grafana+influxdb2安装通过docker的方式,创建个目录,写docker-compse1.docker-compse.ymlversion:"3"services:influxdb:image:influxdb:2.2.0container_name:influxdbports:-"8086:8086"grafana:image:grafana/grafana......