Kubernetes PVC expansion: kubectl patch pvc

From wikieduonline
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

4) Verify it

kubectl get pvc YOURPVC


Outputs

 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

Activities

See also

Advertising: