Resizing persistent volumes after after initial install
Before getting started with resizing persistent volumes, you’ll need the following in advance:
Ensure line “allowVolumeExpansion: true” exists in the default storage class. If this does not already exist in the default storage class, this can be done by editing the default storage class:
Find the default storage class by running kubectl get storageclass
it will have (default)
next to it.
Edit the storage class kubectl edit storageclass <NAME>
and add allowVolumeExpansion: true
so it looks like the following:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: standard
parameters:
type: pd-standard
provisioner: kubernetes.io/gce-pd
allowVolumeExpansion: true
reclaimPolicy: Delete
Currently as of Kubernetes 1.16, it is not possible to resize the disks of a StatefulSet by editing the StatefulSet, instead each PVC used by the StatefulSet pods needs to be edited and deleted for the new size to take affect:
Edit each PVC kubectl --namespace=<NAMESPACE> edit pvc <PVC_NAME>
and modify spec.resources.requests.storage
to the value you wish to set the new disk size to.
Delete the pods associated with the edited PVCs: kubectl --namespace=<NAMESPACE> delete pod <POD_NAME>
Recreate the StatefulSet to keep things consistent by first deleting the StatefulSet without deleting the Pods and causing further downtime:
kubectl --namespace=<NAMESPACE> delete --cascade=false statefulset <STATEFUL_SET_NAME>
Storage
section by reconfiguring BugSnag and deploy the config change.