全国 【切换城市】欢迎您来到装修百科!
关注我们
我要装修

K8S如何查询PVC的已用容量和剩余可用容量(k8s pvc 扩容)

发布:2024-09-11 浏览:56

核心提示:在业务中如果有数据持久化存储的需求就免不了要使用到PV、PVC,既然使用了PV和PVC那么它们的容量使用情况也是我们需要关注的。目前K8S并未提供接口让我们可以直接查询到PVC的容量使用情况,因此本文主要介绍K8S环境下两种查询PVC已用容量和剩余可用容量的方法。1 通过Prometheus查询在 Kubernetes 中有一个名为kube-state-metrics (KSM) 插件,可生成有关 Kubernetes 集群对象状态的指标。它监听 Kubernetes API 服务器并收集有关资源和对象的

在业务中如果有数据持久化存储的需求就免不了要使用到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-metricshttps://github.com/prometheus-operator/kube-prometheus.githttps://github.com/kubernetes/kube-state-metricsroot@k8s-master-gpu-1:/# kubectl get svc -n monitoring |grep -E "gra|k8s" ##安装好后查看prometheus和grafana映射的端口如下图可以看到,prometheus映射的外部端口为31000,grafana映射的外网端口为31002,任意k8s节点ip加映射的端口就能访问到prometheus或grafana1.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获取监控信息https://prometheus.io/docs/prometheus/latest/querying/api/查询某个指标,例如kubelet_volume_stats_used_bytescurl -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插件https://github.com/yashbhutwala/kubectl-df-pvkubectl-df-pv是一个kubectl的插件,能像linux中的df命令一样看到k8s中pv的使用量情况。
安装方式参考上述官网链接。
安装完成后可以通过df-pv命令获取到pv的已用容量信息关注公众号 singless,获取更多有价值的文章

  • 收藏

分享给我的朋友们:

上一篇:弱电工程施工中线槽和PVC管的线缆容量如何估算?(家装pvc线槽的规格尺寸表) 下一篇:天燃气热水器选购注意什么 天燃气热水器的禁忌是什么

一键免费领取报价清单 专享六大服务礼包

装修全程保障

免费户型设计+免费装修报价

已有312290人领取

关键字: 装修报价 装修网 装修风格

发布招标得免费设计

申请装修立省30%

更多装修专区

点击排行