I have a Kubernetes cluster on Google Cloud Platform. It has a persistent Volume Claim with a Capacity of 1GB. The persistent volume claim is bound to many deployments.
I would like to identify the space left in the persistent Volume Claim in order to know if 1GB is sufficient for my application.
I have used the command "kubectl get pv" but this does not show the storage space left.
If there's a running pod with mounted PV from the PVC,
kubectl -n <namespace> exec <pod-name> df
...will list all file systems, including the mounted volumes, and their free disk space.
You can monitorize them with kubelet prometheus metrics:
kubelet_volume_stats_available_bytes{persistentvolumeclaim="your-pvc"}
kubelet_volume_stats_capacity_bytes{persistentvolumeclaim="your-pvc"}
I wrote a script that lists all the PVCs in a cluster in a format similar to df
.
It requires kubectl proxy
to be running.
You can run it via:
./kubedf
or:
./kubedf -h
for a human readable output.