Kubernetes PVC expansion: kubectl patch pvc
Jump to navigation
Jump to search
Expand your pvc size.
1) List your PVCs:
kubectl get pvc -A
NAMESPACE NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE dev elasticsearch-master-elasticsearch-master-0 Bound pvc-25c6e973-8fc4-463b-9288-123456678903 30Gi RWO standard 2y234d
2) Review your StorageClass has AllowVolumeExpansion configured to true.
kubectl describe sc standard | grep AllowVolumeExpansion AllowVolumeExpansion: True
3) Request new size
kubectl -n your-namespace patch pvc your-pvc-name -p '{"spec":{"resources":{"requests":{"storage":"16Gi"}}}}'
4) Verify it
kubectl get pvc YOURPVC
Contents
Outputs[edit]
kubectl -n yournamespace patch pvc yourstoragename -p '{"spec":{"resources":{"requests": {"storage":"1Gi"}}}}' The PersistentVolumeClaim "yourstoragename" is invalid: * spec: Forbidden: spec is immutable after creation except resources.requests for bound claims core.PersistentVolumeClaimSpec{ AccessModes: {"ReadWriteOnce"}, Selector: nil, Resources: core.ResourceRequirements{ Limits: nil, - Requests: core.ResourceList{ - s"storage": {i: resource.int64Amount{value: 123456}, s: "1Gi", Format: "BinarySI"}, - }, + Requests: core.ResourceList{ + s"storage": {i: resource.int64Amount{value: 123456}, s: "5Gi", Format: "BinarySI"}, + }, }, VolumeName: "", StorageClassName: &"yourclass", ... // 3 identical fields } * spec.resources.requests.storage: Forbidden: field can not be less than previous value
Related[edit]
kubectl get storageclass
kubectl patch pvc
FileSystemResizeSuccessful MountVolume.NodeExpandVolume succeeded for volume "pvc-678509b5-158b-11e9-8abc-1234567890"
The PersistentVolumeClaim XXX is invalid
Activities[edit]
- Read https://www.gooksu.com/2022/08/how-to-increase-space-for-your-elasticsearch-instances-in-k8s-on-eck/
- Read https://www.percona.com/blog/percona-operator-volume-expansion-without-downtime/
See also[edit]
- Kubernetes Persistent Volume Claim (PVC) (
kind: PersistentVolumeClaim
), Kubernetes Persistent volumes (PV)(kind: PersistentVolume)
,kubectl describe pvc, kubectl get pvc
, ClaimLost, ProvisioningSucceeded, PV access control - Kubernetes storage, storage classes, PersistentVolume (PV), PVC, CSI,
kind: StorageClass, kind: PersistentVolumeClaim, kind: PersistentVolume
,kubectl [ get | describe | edit ] pvc
,volumeClaimTemplates:
,kubectl patch pv
,FailedMount
, Volume Expansion, Volume Cloning, snapshots, ExtraVolumes, NotTriggerScaleUp,volumePVCDataSource, AllowVolumeExpansion
, EKS storage, provisioner, Storage Capacity Tracking,VolumeBinding, VolumeClaimTemplate, storage.k8s.io
, CKA Storage, DoKC, EmptyDir, Volume populators,storageclass.kubernetes.io
Advertising: