例如,我有50 Gib PV/PVC并授予一个Pod,我只想检查存储的使用情况。
我所遵循的方法是设置一个挂载了相同PVC的busybox pod,然后执行
df -h
命令以检查存储空间。
我想知道是否有更有效的方法来完成相同的任务。df -h
命令以检查存储空间。
我想知道是否有更有效的方法来完成相同的任务。根据您需要执行此操作的频率,您可能需要查看 kubectl
的 df-pv
插件(https://github.com/yashbhutwala/kubectl-df-pv)
该插件可以在命名空间或集群中跨所有pv执行您所要求的操作。安装完成后,只需运行kubectl df-pv
即可。
很遗憾,我们目前没有这个功能。我经常会在 Prometheus 上查询 kubelet_volume_stats_used_bytes
指标来获取信息(因为我在那里有一个 Prom 集群)。
或者稍微麻烦一些的方法是编写一个操作器来监听包装 PVC 的 CRD,并显示 PVC 的使用情况。
有许多类型的PV(例如各种云存储)。它们中的每一个可能都有不同的获取信息方式。您可以始终使用kubectl describe pv <pv-name>
或kubectl get pv <pv-name> -o yaml
。这可能会给您一些有关PV当前状态的信息,但它可能缺少您需要的信息。
我假设您正在使用本地PV。在这种情况下,您运行容器内的df -h
命令的解决方案还不错。另一件事是直接在托管PV的节点上运行此命令。
您可以尝试以下命令集,在 AKS 上测试并发现其正常工作。
kubectl get pods -n namespace1
{pod_name}
替换为实际的 pod_name。kubectl exec -it {pod_name} -n namespace1 bash
df -h
ls -l /mount
df -h
命令可以检查 Busybox 中的挂载文件夹。 - Vampire_D