df -h on the VCFA VM as the root user returns a mount at 100% similar to:/dev/sdf 50G 50G 48K 100% /var/lib/kubelet/pods/########-####-####-####-############/volumes/kubernetes.io~csi/pvc-########-####-####-####-############/mountVCFA: 9.1
VCF: 9.1
Currently under investigation by VMware engineering.
Edit the prelude postgresql pod
kubectl edit postgresql vcfapostgres -n prelude
Locate the env volume size entry under -env:
/- env
/size
Enter the size by 20 Gi and save/exit the config file:
i (enters insert mode)
Edit the current size: value by increasing the value by 20 Gi
<esc>:wq! (save and quit)
Restart the zalando-postgres-operator deployment
kubectl rollout restart deployment/zalando-postgres-operator -n vmsp-platform
Confirm the CAPACITY of the PVC reflects the new size:
kubectl get pvc -n prelude -l application=spilo
The VCFA UI should become available following the restart of the deployment. The associated table should clean itself up after 24 hours.
Note: The storage space used to increase the PVC cannot be reclaimed.
SSH into the VCFA appliance as the vmware-system-user
Switch to the root user
sudo -i
Identify the postgres PVC
kubectl get pvc -A | grep postgres
Example:
prelude pgdata-vcfapostgres-0 Bound pvc-########-####-####-####-############ 30Gi RWO vmsp-default 111d
Confirm this is the PVC that is full
df -h | grep pvc-208849e9-01f2-467a-948c-0b7875b5730d
example results:
/dev/sdf 50G 50G 48K 100% /var/lib/kubelet/pods/########-####-####-####-############/volumes/kubernetes.io~csi/pvc-########-####-####-####-############/mount
If this partition is 100% full, proceed with the Resolution listed above.
If not, proceed with the next steps to identify the mount, POD UUID, and PVC UUID details and use KB Creating and managing Broadcom cases to open a support case to investigate further:
Using the output:
Example:
/dev/sdf 50G 50G 48K 100% /var/lib/kubelet/pods/########-####-####-####-############/volumes/kubernetes.io~csi/pvc-########-####-####-####-############/mount
kubectl get pvc -A | grep pvc-########-####-####-####-############
Find the name of the pod using the PVC
kubectl get pods -A -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{.metadata.uid}{"\n"}{end}' | grep ########-####-####-####-############
Example:
prelude vcfapostgres-0 i.e########-####-####-####-############ <namespace> <podname> ########-####-####-####-############
Find the mount which is filling up the PVC:
kubectl exec -it -n <namespace> <podname> -- df -h
Look for large files/logs on the mount:
kubectl exec -it -n <namespace> <podname> -- du -sh