当前位置: 首页 > news >正文

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

在业务中如果有数据持久化存储的需求就免不了要使用到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.hskmm.com/?act=detail&tid=40577

相关文章:

  • 学术会议会议合集 | 人工智能、未来教育 、智能控制 、计算科学 、传感器技术等EI会议合集
  • 2025 年水磨石厂家最新推荐榜,技术实力与市场口碑深度解析水磨石预制板/人造水磨石/水磨石地砖/水磨石成品地砖/彩色水磨石地砖公司推荐
  • 2025年10月短视频营销公司实力榜:五强对比评测与选择指南
  • kettle调度系统-kettle嵌入集成方式调度,稳如磐石,一分钟完成任务调度配置
  • 探索 RoCE v2:高性能网络技术在 AI 场景中的应用
  • K8S下的GPU监控
  • Unreal:多屏幕全屏后只有一个屏幕显示怎么办
  • MyEMS 的智慧大脑:从能耗建模到预测性维护的全流程技术逻辑
  • Linux-按下开机键后,究竟发生了什么
  • 用Go语言从零开始开发一个Prometheus Exporter
  • AI基础概念扫盲:人工智能入门指南
  • K8s v1.2到v1.34:从容器编排到 AI/ML 的云原生未来
  • 根据名称排序(中文、英文、数字)等
  • 2025年贵州推拿正骨培训机构权威推荐榜单:小儿按摩培训/小儿推拿培训/穴位敷贴培训源头机构精选
  • Docker存储驱动OverLay2介绍
  • 2025年哈尔滨ISO环境体系认证渠道权威推荐榜单:辽宁ISO20000质量管理体系认证/沈阳ISO20000质量管理体系/大连ISO三体系认证源头公司精选
  • 2025.10.29——1绿1蓝
  • 2025年北京配电室试验方案公司权威推荐:天津配电室打压试验/河北配电室静电地板试验/石家庄配电室高压保护试验服务机构精选
  • ASP.NET Core Web API 需要先发布到 IIS 服务器才能运行
  • TPT-X-2025.09 焕新上线!汽车电子测试效率再升级,解决测试痛点!
  • Windows11由22H2升级至25H2后,VSCode出现“扩展主机意外终止”问题及解决
  • 2025年数控对头钻批发厂家权威推荐:数控龙门镗铣床/数控双面镗/数控双面镗铣床源头厂家精选
  • 设置E8流程中相关资源无法查看,防止附件被查看
  • GO_gorm
  • Air8000模块CAN接口硬件连接指南,来啦!
  • 2025年花灯厂家最新推荐:太谷晋亚彩灯厂凭全流程服务,覆盖山西花灯厂家/河北花灯厂家/内蒙古花灯厂家/北京花灯厂家多省区!
  • 【IEEE出版 | 快至会后3个月完成检索 | 会议历史优秀】第五届人工智能、机器人和通信国际会议(ICAIRC 2025)
  • 2025年10月兰花油品牌推荐榜:五大品牌综合对比与深度解析
  • 2025年河北注册公司系统权威推荐:衡水公司注册公司/河北企业注册优化/衡水公司注销方案服务平台精选
  • 2025年10月兰花油品牌推荐榜:五款精选产品深度对比与选购指南