K8S如何查询PVC的已用容量和剩余可用容量

news/2025/10/29 14:20:36/文章来源:https://www.cnblogs.com/singless233/p/19174302

在业务中如果有数据持久化存储的需求就免不了要使用到PV、PVC,既然使用了PV和PVC那么它们的容量使用情况也是我们需要关注的。目前K8S并未提供接口让我们可以直接查询到PVC的容量使用情况,因此本文主要介绍K8S环境下两种查询PVC已用容量和剩余可用容量的方法。

1 通过Prometheus查询

在 Kubernetes 中有一个名为kube-state-metrics (KSM) 插件,可生成有关 Kubernetes 集群对象状态的指标。它监听 Kubernetes API 服务器并收集有关资源和对象的信息,例如 Deployments、Pod、Volume、Services 和 StatefulSet。并且它收集的指标可直接作为prometheus的监控数据,因此我们可以通过kube-state-metrics来获取PVC的使用信息。

 

因此需要提前安装好prometheus和kube-state-metrics


root@k8s-master-gpu-1:/# kubectl get svc -n monitoring |grep -E "gra|k8s"  ##安装好后查看prometheus和grafana映射的端口

 

如下图可以看到,prometheus映射的外部端口为31000,grafana映射的外网端口为31002,任意k8s节点ip加映射的端口就能访问到prometheus或grafana

 

 

1.1 通过图形化界面获取使用量信息

登录prometheus,通过以下两个指标可以查看到pvc的已用容量和剩余可用容量

kubelet_volume_stats_used_bytes  ##已用容量
kubelet_volume_stats_available_bytes  ##剩余可用容量

 

可以看到下图的pvc已用容量为357564416,单位为byte。也就是349184 Kb

 

 

查看pod和pvc的对应关系

kubectl get pods --all-namespaces -o=json | jq -c '.items[] | {name: .metadata.name, namespace: .metadata.namespace, claimName:.spec.volumes[] | select( has ("persistentVolumeClaim") ).persistentVolumeClaim.claimName }'

 

 

登录到pod中查看pvc的使用容量

 

 

 

1.2通过Prometheus API获取监控信息

查询某个指标,例如kubelet_volume_stats_used_bytes

curl -s http://localhost:31000/api/v1/query?query=kubelet_volume_stats_used_bytes

同样的我们可以使用PromQL中的过滤条件,查找满足条件的某个指标。如persistentvolumeclaim的值为fs-yzc666-1770349856438677506的节点数据。正常使用PromQL如下。

{persistentvolumeclaim="fs-yzc666-1770349856438677506"}

在使用api时,特殊字符要用URL编码替代。{、=、"、}这些字符要分别用%7B、%3D 、%22、%7D代替,最终形式如下

curl -s http://localhost:31000/api/v1/query?query=kubelet_volume_stats_used_bytes%7Bpersistentvolumeclaim%3D%22fs-yzc666-1770349856438677506%22%7D

 

返回的结果为json格式

 

 

 

2 使用kubectl-df-pv插件

kubectl-df-pv是一个kubectl的插件,能像linux中的df命令一样看到k8s中pv的使用量情况。安装方式参考上述官网链接。

安装完成后可以通过df-pv命令获取到pv的已用容量信息

 

 

 

关注公众号 singless,获取更多有价值的文章

 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/949877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学术会议会议合集 | 人工智能、未来教育 、智能控制 、计算科学 、传感器技术等EI会议合集

人工智能、未来教育 、智能控制 、计算科学 、传感器技术等EI会议合集2025年第二届人工智能与未来教育国际学术会议(AIFE 2025) 2025 2nd International Conference on Artificial Intelligence and Future Educatio…

完整教程:金融分析师技能提升路径与学习资源指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年水磨石厂家最新推荐榜,技术实力与市场口碑深度解析水磨石预制板/人造水磨石/水磨石地砖/水磨石成品地砖/彩色水磨石地砖公司推荐

随着无机水磨石、预制板等细分品类需求激增,市场品牌分化加剧。为破解采购难题,本次榜单依托建筑材料流通协会地坪委员会 2025 年度测评数据,采用 "四维评估体系":生产实力(占比 30%)涵盖厂房规模与自…

Unreal:如何调用DLL

说说我的方法吧,不知道正不正确,但是能用,哈哈哈哈,跟着官方的第三方库弄的打包dll那一套我就不赘述了,就说说拿到DLL和Lib怎么办 以官方模板创建得插件TestThird为例 将dll,lib文件放到TestThird\Source\ThirdP…

建筑矿山设备工厂:MyEMS 如何助力实现 30% 能源自给率与 ISO 50001 认证?

建筑矿山设备工厂作为典型的高能耗制造场景,其生产流程涉及大型机床加工、热处理、焊接、装配等环节,对电力、热力、燃料的需求旺盛。近年来,在 “双碳” 目标与能源成本上涨的双重压力下,工厂不仅需要降低对传统化…

lldpd介绍

1 介绍 lldpd是IEEE802.1AB (LLDP)协议的一种实现。目标是帮助定位所有设备的邻居设备。例如可以定位服务器某个网卡是接在交换机的哪个接口上。要使用该协议交换机上需要启用lldp协议,linux服务器上需要安装lldp相…

HarmonyOS6纯血鸿蒙开发

一、HarmonyOS 开发准备 1.成为华为开发者 在开始应用开发前,需要先完成以下准备工作。在华为开发者联盟网站上,注册成为开发者,并完成实名认证,从而享受联盟开放的各类能力和服务。 1.1 注册账号 如果您已经有华为…

2025年10月短视频营销公司实力榜:五强对比评测与选择指南

一、引言 短视频流量红利进入精细化运营阶段,企业主、市场总监、增长负责人普遍面临“投流贵、内容倦、转化弱”的三重夹击。对创业者而言,能否以可控成本跑通短视频获客闭环,直接决定现金流健康;对成熟品牌而言,…

kettle调度系统-kettle嵌入集成方式调度,稳如磐石,一分钟完成任务调度配置

这款调度产品,早在N年前已经横扫江湖,后来隐退于kettler人间,不少大佬已经在生产环境使用这款产品,今天将重出江湖,造福kettler,咱们正式叫它【kettle金刚调度系统】,江湖名xxkg-pdi。废话少说,亮剑!!! 本款…

探索 RoCE v2:高性能网络技术在 AI 场景中的应用

1. RDMA介绍 1.1 什么是RDMA RDMA(Remote Direct Memory Access),全称远端内存直接访问技术,可以在使用极少CPU资源的情况下,将数据从一台服务器传输至另一台服务器。 在数据中心内部,大型分布式计算存储资源之间,…

K8S下的GPU监控

1 DCGM介绍 在前面给大家介绍了K8S环境下如何调度GPU,在显卡的实际应用中,监控是不可缺少的一环。通过监控,我们能更直观的了解到显卡的使用情况和各项监控指标。英伟达提供了DCGM (NVIDIA Data Center GPU Manager…

Unreal:多屏幕全屏后只有一个屏幕显示怎么办

这里讨论的是,多个屏幕时,用N卡的Surround融合为一个屏幕,当开始游戏后发生的问题 原因 这里的代码截图是Unreal5.3.2版本当全屏时,会获得一个最大分辨率,这个分辨率是你主屏幕的分辨率,即使是通过Surround融合成…

MyEMS 的智慧大脑:从能耗建模到预测性维护的全流程技术逻辑

在 “双碳” 目标与企业降本增效的双重驱动下,能源管理已从传统的 “事后统计” 转向 “实时调控、主动预防” 的数字化新阶段。作为智能能源管理系统(Energy Management System, EMS)的进阶形态,MyEMS 的核心竞争…

用Go语言从零开始开发一个Prometheus Exporter

1 基本概念 1 prometheus介绍 Prometheus 是一个开源的系统监控和报警工具,专为高效采集和存储时间序列数据而设计,目前广泛用于监控微服务架构、云基础设施和Kubernetes集群等环境。Prometheus的架构图如下。export…

CentOS7下OpenSSH10.0p2升级实践

CentOS7下OpenSSH10.0p2升级实践安装Telnet服务 为了避免升级OpenSSH导致服务器不可连接。需要先下载安装Telnet组件。升级期间使用Telnet作为升级期间的服务器连接方式。先查询telnet是否安装 rpm -qa telnet 如果没有…

AI基础概念扫盲:人工智能入门指南

ChatGPT的爆火带动了AIGC相关产业链的发展。也激发了大众研究探索AI的热情。本文主要介绍AI领域的一些基础概念及技术。AI:人工智能 (artificial intelligence) 。属于计算机科学领域,致力于解决与人类智慧相关的常见…

2025年美国威盾VTON进口分体式流量计生产厂家权威推荐:美国威盾VTON进口气体流量计/美国威盾VTON进口流量计/美国威盾VTON进口旋进漩涡流量计源头供应商精选

美国威盾VTON进口分体式流量计作为工业流量测量领域的重要产品,其市场需求保持稳定增长。分体式结构设计使得流量计能够在复杂工况下实现更灵活的安装与维护,在高温、高压及恶劣环境中表现尤为出色。 本次评选从企业…

Linux服务器感染病毒,如何处理?

1 导语 最近在做性能测试时,发现一台服务器的性能很差,一排查才发现原来是中了挖矿病毒,通常来说,服务器中病毒后,最快速的处理方式就是重装系统,但对于运行着重要业务的系统来说,重装系统较为麻烦。本文主要介…

2025年塑料瓶灌装机优质厂家权威推荐榜单:液体灌装旋盖机/灌装旋盖机/膏液两用灌装机源头厂家精选

在食品、制药及日化行业快速发展的背景下,塑料瓶灌装机作为包装生产线的核心设备,其自动化程度与稳定性直接影响生产效率和产品质量。据2024年行业数据显示,全球灌装机市场规模同比增长约10%,其中液体灌装旋盖机和…

Bash 中的 shopt -s globstar:递归 Glob 模式详解 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …