Kubernetes PVC expansion: kubectl patch pvc
(Redirected from Kubernetes PVC resize: 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 storageclasskubectl patch pvcFileSystemResizeSuccessful 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, PersistentVolumeClaimRetentionPolicy - 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, Rook, Longhorn, projected volumes
Advertising: