49

我在 Google Cloud Platform 上有一个 Kubernetes 集群。它具有容量为 1GB 的持久卷声明。持久卷声明绑定到许多部署。

我想确定持久卷声明中剩余的空间,以便了解 1GB 是否足以满足我的应用程序。

我使用了命令“kubectl get pv”,但这并没有显示剩余的存储空间。

4

5 回答 5

56

如果有一个正在运行的 pod 安装了来自 PVC 的 PV,

kubectl -n <namespace> exec <pod-name> df

...将列出所有文件系统,包括已安装的卷及其可用磁盘空间。

于 2018-11-09T00:51:13.623 回答
20

您可以使用 kubelet prometheus 指标监控它们:

kubelet_volume_stats_available_bytes{persistentvolumeclaim="your-pvc"}
kubelet_volume_stats_capacity_bytes{persistentvolumeclaim="your-pvc"}
于 2019-07-03T12:21:10.060 回答
9

我编写了一个脚本,以类似于df.

您可以通过以下方式运行它:

./kubedf

或者:

./kubedf -h

用于人类可读的输出。

编辑:脚本不再需要kubectl proxy运行

于 2019-05-08T05:37:19.897 回答
9

如果添加 -h 参数,则添加到@apisim 的答案,然后您可以获得人类可读格式的详细信息。像这样的东西,

kubectl -n <namespace> exec <pod-name> -- df -h

在此处输入图像描述

于 2021-02-02T11:27:57.487 回答
0

如果您使用 NFS:

sudo apt update
sudo apt install ncdu
cd /your_nfs/kubernetes/
sudo ncdu .
ncdu 1.12 ~ Use the arrow keys to navigate, press ? for help
--- /your_nfs/kubernetes/ ----------------------------------------------------------------------------------
   34.1 GiB [##########] /backups
    2.1 GiB [          ] /redis
    1.9 GiB [          ] /XXX
  785.5 MiB [          ] /postgresql
  435.7 MiB [          ] /XXX
  391.2 MiB [          ] /XXX

C查看文件的数量/计数。

于 2020-11-30T12:40:27.050 回答