14

例如,我有 50 Gib PV/PVC 并授予一个 Pod,我只想检查存储的使用情况

我正在遵循的方法是设置一个安装相同 PVC 的busybox pod,然后执行到busybox以运行df -h以检查存储。

我只是想知道是否有一种有效的方法来做同样的事情。

4

4 回答 4

11

根据您需要执行此操作的频率,您可能会查看https://github.com/yashbhutwala/kubectl-df-pvdf-pv的插件kubectl

它完全符合您对命名空间或集群中所有 pv 的要求。安装完成后,只需运行kubectl df-pv即可。

于 2020-09-22T22:42:08.080 回答
3

不幸的是,我们目前没有这个。我经常做的是在 Prometheus(因为我有一个 Prom 集群)上查询kubelet_volume_stats_used_bytes信息的指标。

或者以更难的方式,您可以编写一个操作符来观察包装 PVC 的 CRD 并显示 PVC 的使用情况。

于 2019-12-12T09:38:14.997 回答
1

PV-s 有很多种类型(例如各种云存储)。他们每个人可能有不同的方式来获取这些信息。你总是可以使用kubectl describe pv <pv-name>or kubectl get pv <pv-name> -o yaml。这可能会为您提供有关 PV 当前状态的一些信息,但它可能缺少您需要的信息。

我假设您使用的是本地 PV-s。在这种情况下,您df -h在容器内运行的解决方案还不错。您可以做的另一件事是在直接托管 PV 的节点上运行此命令。

于 2019-12-12T09:13:23.003 回答
0

您可以尝试以下命令集,我在 AKS 上进行了检查,发现它工作正常。

kubectl get pods -n namespace1

选择当前使用或映射到 PV/PVC(持久卷声明)的 pod_name,由于我使用了 PV 上的挂载目录,因此我使用 /mount 检查其详细信息并替换{pod_name}为实际的 pod_name。

kubectl exec -it {pod_name} -n namespace1 bash

df -h

ls -l /mount
于 2022-02-22T07:12:06.353 回答