From 563e46587868c77a95ff040b114d607eb27c4f86 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Wed, 30 Mar 2022 16:29:08 -0400 Subject: [PATCH 01/20] volume expansion goes ga --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 content/en/blog/_posts/2022-04-18-volume-expansion-ga.md diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md new file mode 100644 index 0000000000..6702c54d50 --- /dev/null +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -0,0 +1,8 @@ +--- +layout: blog +title: "Volume expansion going GA v1.24?" +date: 2022-04-18 +slug: volume-expansion-ga +--- + +**Author:** Hemant Kumar From 5231cdff02cb7f6c51c6c340ea5877870ebfd901 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Tue, 12 Apr 2022 16:20:31 -0400 Subject: [PATCH 02/20] Add content for volume expansion --- .../_posts/2022-04-18-volume-expansion-ga.md | 78 ++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index 6702c54d50..a795ac3958 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -1,8 +1,84 @@ --- layout: blog -title: "Volume expansion going GA v1.24?" +title: "Volume expansion going GA in v1.24" date: 2022-04-18 slug: volume-expansion-ga --- **Author:** Hemant Kumar + +## Introduction + +Volume expansion was introduced as a alpha feature in Kubernetes 1.8 and it went beta in 1.11 and with Kubernetes 1.24 we are excited to announce general availability(GA) +of volume expansion feature. + +This feature allows Kubernetes users to simply edit their `PersistentVolumeClaim` objects and specify new size in PVC Spec and Kubernetes will automatically expand the volume +using storage backend and also expand the underlying file system in-use by the Pod without requiring any downtime at all if possible. + + +### How to use volume expansion feature + +Using volume expansion is as simple as editing `storage` field of pvc spec and specifying new size. For example - given following PVC: + +``` +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: myclaim +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi --> specify new size here +``` + +Users can request expansion of the underlying volume by specifying a new value instead of old `1Gi` size. Once expansion is initiated - pvc's conditions can be monitored +for completion of volume expansion operation. + +When Kubernetes starts expanding the volume - it will add `Resizing` condition to the PVC, which will be removed once expansion completes. More information about progress of +expansion operation can also be obtained by monitoring events associated with pvc: + +``` +~> kubectl describe pvc +``` + +### Storage driver support + +Not every volume type however is expandable by default. Some volume types such as - intree hostpath volumes are not expandable at all. For CSI volumes - the CSI driver +must have capability `EXPAND_VOLUME` in controller or node service (or both if appropriate). For CSI volumes - please refer to documentation of your CSI driver, to find out +if it supports volume expansion. + +Please refer to volume expansion documentation for intree volume types which support volume expansion - [Expanding Persistent Volumes](/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims) + + +In general to provide some degree of control over volumes that can be expanded, only dynamically provisioned PVCs whose storage class has `allowVolumeExpansion` parameter set to `true` are expandable. + +A Kubernetes admin must edit storage class object and set `allowVolumeExpansion` field to true. For example: + +``` +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: gp2-default +provisioner: kubernetes.io/aws-ebs +parameters: + secretNamespace: "" + secretName: "" +allowVolumeExpansion: true +``` + +### Online vs offline expansion + +By default Kubernetes attempts to expand volumes immediately after user requests new size. Expansion happens online if one or more Pods are using the volume and as a result volume expansion requires no application downtime. File System expansion on the node is also performed online and hence does not require shutting down the Pod that was using the PVC. + +In some cases though - if underlying Storage Driver can only support offline expansion, users of the PVC must take down their Pod before expansion can succeed. Please refer to documentation of your storage +provider to find out - what mode of volume expansion it supports. + +When volume expansion was introduced as an alpha feature, it only supported offline file system expansion on the node and hence required users to restart their pods for file system resizing to finish. This behaviour has been changed and Kubernetes tries its best to full-fill user's request regardless of the fact that if volume is online or offline. If Storage Provider supports online expansion - no Pod restart should be necessary for volume expansion to finish. + +### ## What’s next? + +Although Volume expansion is going GA with 1.24 - we are continously working to make it simpler for users of Kubernetes to expand their persistent volumes. Kubernetes 1.23 introduced feature `RecoverVolumeExpansionFailure` - so as users can themselves recover from volume expansion failures (usually recovering from volume expansion requires admin intervention) whenever possible. See - [Rcovering from volume expansion failure](/docs/concepts/storage/persistent-volumes/#recovering-from-failure-when-expanding-volumes) for more details. + +Kubernetes community is also working on statefulset expansion - so as all underlying PVCs created by a statefulset can be expanded by directly editing statefulset template. See - [Statefulset volume resize](https://github.com/kubernetes/enhancements/pull/2842) feature for more details. From 1983d8e1b3584c07d9e7602af7ba92491f9e724c Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Thu, 21 Apr 2022 12:07:27 -0400 Subject: [PATCH 03/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index a795ac3958..15c034ab41 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -10,7 +10,7 @@ slug: volume-expansion-ga ## Introduction Volume expansion was introduced as a alpha feature in Kubernetes 1.8 and it went beta in 1.11 and with Kubernetes 1.24 we are excited to announce general availability(GA) -of volume expansion feature. +of volume expansion. This feature allows Kubernetes users to simply edit their `PersistentVolumeClaim` objects and specify new size in PVC Spec and Kubernetes will automatically expand the volume using storage backend and also expand the underlying file system in-use by the Pod without requiring any downtime at all if possible. From 687f4ef832604d94b3b63aeba2c6dfb168c14969 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Thu, 21 Apr 2022 12:07:33 -0400 Subject: [PATCH 04/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index 15c034ab41..4f12d01ede 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -16,7 +16,7 @@ This feature allows Kubernetes users to simply edit their `PersistentVolumeClaim using storage backend and also expand the underlying file system in-use by the Pod without requiring any downtime at all if possible. -### How to use volume expansion feature +### How to use volume expansion Using volume expansion is as simple as editing `storage` field of pvc spec and specifying new size. For example - given following PVC: From f7a630d554356ba415cf664d3665be91cf1d22cb Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Thu, 21 Apr 2022 12:08:04 -0400 Subject: [PATCH 05/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index 4f12d01ede..145e7810a1 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -18,7 +18,8 @@ using storage backend and also expand the underlying file system in-use by the P ### How to use volume expansion -Using volume expansion is as simple as editing `storage` field of pvc spec and specifying new size. For example - given following PVC: +You can trigger expansion for a PersistentVolume by editing the `spec` field of a PVC, specifying a different +(and larger) storage request. For example, given following PVC: ``` kind: PersistentVolumeClaim From 54af04b96124f5f54a0b7e6bd82dd8f4d12d6be3 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Thu, 21 Apr 2022 12:17:31 -0400 Subject: [PATCH 06/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index 145e7810a1..9978687329 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -38,7 +38,7 @@ Users can request expansion of the underlying volume by specifying a new value i for completion of volume expansion operation. When Kubernetes starts expanding the volume - it will add `Resizing` condition to the PVC, which will be removed once expansion completes. More information about progress of -expansion operation can also be obtained by monitoring events associated with pvc: +expansion operation can also be obtained by monitoring events associated with the PVC: ``` ~> kubectl describe pvc From b4ec63b39a4cd23f96b274c77a36366690e58f05 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Thu, 21 Apr 2022 13:46:04 -0400 Subject: [PATCH 07/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index 9978687329..ea4c9947ba 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -55,7 +55,8 @@ Please refer to volume expansion documentation for intree volume types which sup In general to provide some degree of control over volumes that can be expanded, only dynamically provisioned PVCs whose storage class has `allowVolumeExpansion` parameter set to `true` are expandable. -A Kubernetes admin must edit storage class object and set `allowVolumeExpansion` field to true. For example: +A Kubernetes cluster administrator must edit the appropriate StorageClass object and set +the `allowVolumeExpansion` field to `true`. For example: ``` apiVersion: storage.k8s.io/v1 From e9c9619f42928b7dda41013807cece48f2d0e434 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Thu, 21 Apr 2022 13:46:27 -0400 Subject: [PATCH 08/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index ea4c9947ba..e899d758f9 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -83,4 +83,7 @@ When volume expansion was introduced as an alpha feature, it only supported offl Although Volume expansion is going GA with 1.24 - we are continously working to make it simpler for users of Kubernetes to expand their persistent volumes. Kubernetes 1.23 introduced feature `RecoverVolumeExpansionFailure` - so as users can themselves recover from volume expansion failures (usually recovering from volume expansion requires admin intervention) whenever possible. See - [Rcovering from volume expansion failure](/docs/concepts/storage/persistent-volumes/#recovering-from-failure-when-expanding-volumes) for more details. -Kubernetes community is also working on statefulset expansion - so as all underlying PVCs created by a statefulset can be expanded by directly editing statefulset template. See - [Statefulset volume resize](https://github.com/kubernetes/enhancements/pull/2842) feature for more details. +The Kubernetes contributor community is also discussing the potential for StatefulSet-driven storage expansion. This proposed +feature would let you trigger expansion for all underlying PVs that are providing storage to a StatefulSet, +by directly editing the StatefulSet object. +See the [Support Volume Expansion Through StatefulSets](https://github.com/kubernetes/enhancements/issues/661) enhancement proposal for more details. From 2d4859d3054df39a6065de9cfcbe56f9cdfb93c3 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Thu, 21 Apr 2022 13:46:42 -0400 Subject: [PATCH 09/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index e899d758f9..e84e0016dc 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -5,7 +5,7 @@ date: 2022-04-18 slug: volume-expansion-ga --- -**Author:** Hemant Kumar +**Author:** Hemant Kumar (Red Hat) ## Introduction From 0a92db4a38319c73dc4d8a62e4b1258f1c4c6c1f Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Thu, 21 Apr 2022 13:46:53 -0400 Subject: [PATCH 10/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index e84e0016dc..23c25392fd 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -7,7 +7,6 @@ slug: volume-expansion-ga **Author:** Hemant Kumar (Red Hat) -## Introduction Volume expansion was introduced as a alpha feature in Kubernetes 1.8 and it went beta in 1.11 and with Kubernetes 1.24 we are excited to announce general availability(GA) of volume expansion. From 38814f50834e931f19284f2a50a4c275bbf6d288 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Thu, 21 Apr 2022 13:48:02 -0400 Subject: [PATCH 11/20] Fix misc review comments --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index 23c25392fd..dbd9f7e683 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -1,6 +1,6 @@ --- layout: blog -title: "Volume expansion going GA in v1.24" +title: "Volume expansion now available as stable feature in Kubernetes 1.24" date: 2022-04-18 slug: volume-expansion-ga --- @@ -30,7 +30,7 @@ spec: - ReadWriteOnce resources: requests: - storage: 1Gi --> specify new size here + storage: 1Gi # specify new size here ``` Users can request expansion of the underlying volume by specifying a new value instead of old `1Gi` size. Once expansion is initiated - pvc's conditions can be monitored @@ -40,13 +40,13 @@ When Kubernetes starts expanding the volume - it will add `Resizing` condition t expansion operation can also be obtained by monitoring events associated with the PVC: ``` -~> kubectl describe pvc +kubectl describe pvc ``` ### Storage driver support Not every volume type however is expandable by default. Some volume types such as - intree hostpath volumes are not expandable at all. For CSI volumes - the CSI driver -must have capability `EXPAND_VOLUME` in controller or node service (or both if appropriate). For CSI volumes - please refer to documentation of your CSI driver, to find out +must have capability `EXPAND_VOLUME` in controller or node service (or both if appropriate). Please refer to documentation of your CSI driver, to find out if it supports volume expansion. Please refer to volume expansion documentation for intree volume types which support volume expansion - [Expanding Persistent Volumes](/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims) From c1d43465582b05bbbf4ab07002f6dc640c771022 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Mon, 25 Apr 2022 12:54:19 -0400 Subject: [PATCH 12/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index dbd9f7e683..e5b2376c8e 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -33,8 +33,9 @@ spec: storage: 1Gi # specify new size here ``` -Users can request expansion of the underlying volume by specifying a new value instead of old `1Gi` size. Once expansion is initiated - pvc's conditions can be monitored -for completion of volume expansion operation. +You can request expansion of the underlying PersistentVolume by specifying a new value instead of old `1Gi` size. +Once you've changed the requested size, watch the `status.conditions` field of the PVC to see if the +resize has completed. When Kubernetes starts expanding the volume - it will add `Resizing` condition to the PVC, which will be removed once expansion completes. More information about progress of expansion operation can also be obtained by monitoring events associated with the PVC: From 3d8606c607471e0e6b364f2692cd9debd98099c9 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Mon, 25 Apr 2022 12:54:27 -0400 Subject: [PATCH 13/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index e5b2376c8e..2de655cf36 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -70,7 +70,7 @@ parameters: allowVolumeExpansion: true ``` -### Online vs offline expansion +### Online expansion compared to offline expansion By default Kubernetes attempts to expand volumes immediately after user requests new size. Expansion happens online if one or more Pods are using the volume and as a result volume expansion requires no application downtime. File System expansion on the node is also performed online and hence does not require shutting down the Pod that was using the PVC. From 3f3ee8c792a2671a32f92ea082aa7d8fa04bd67d Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Mon, 25 Apr 2022 12:54:41 -0400 Subject: [PATCH 14/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index 2de655cf36..8f857244c3 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -77,7 +77,11 @@ By default Kubernetes attempts to expand volumes immediately after user requests In some cases though - if underlying Storage Driver can only support offline expansion, users of the PVC must take down their Pod before expansion can succeed. Please refer to documentation of your storage provider to find out - what mode of volume expansion it supports. -When volume expansion was introduced as an alpha feature, it only supported offline file system expansion on the node and hence required users to restart their pods for file system resizing to finish. This behaviour has been changed and Kubernetes tries its best to full-fill user's request regardless of the fact that if volume is online or offline. If Storage Provider supports online expansion - no Pod restart should be necessary for volume expansion to finish. +When volume expansion was introduced as an alpha feature, Kubernetes only supported offline filesystem +expansion on the node and hence required users to restart their pods for file system resizing to finish. +his behaviour has been changed and Kubernetes tries its best to fulfil any resize request regardless +of whether the underlying PersistentVolume volume is online or offline. If your storage provider supports +online expansion then no Pod restart should be necessary for volume expansion to finish. ### ## What’s next? From 4fcbbea71c871e1d16fb6b849107187450ad4bb4 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Mon, 25 Apr 2022 12:54:48 -0400 Subject: [PATCH 15/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index 8f857244c3..d045cb4eca 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -83,7 +83,7 @@ his behaviour has been changed and Kubernetes tries its best to fulfil any resiz of whether the underlying PersistentVolume volume is online or offline. If your storage provider supports online expansion then no Pod restart should be necessary for volume expansion to finish. -### ## What’s next? +## Next steps Although Volume expansion is going GA with 1.24 - we are continously working to make it simpler for users of Kubernetes to expand their persistent volumes. Kubernetes 1.23 introduced feature `RecoverVolumeExpansionFailure` - so as users can themselves recover from volume expansion failures (usually recovering from volume expansion requires admin intervention) whenever possible. See - [Rcovering from volume expansion failure](/docs/concepts/storage/persistent-volumes/#recovering-from-failure-when-expanding-volumes) for more details. From 8e99633e5f2b98e2bf3e2ec21bdc994ed6c2c735 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Mon, 25 Apr 2022 12:54:58 -0400 Subject: [PATCH 16/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index d045cb4eca..42018546bf 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -72,7 +72,14 @@ allowVolumeExpansion: true ### Online expansion compared to offline expansion -By default Kubernetes attempts to expand volumes immediately after user requests new size. Expansion happens online if one or more Pods are using the volume and as a result volume expansion requires no application downtime. File System expansion on the node is also performed online and hence does not require shutting down the Pod that was using the PVC. +By default, Kubernetes attempts to expand volumes immediately after user requests a resize. +If one or more Pods are using the volume, Kubernetes tries to expands the volume using an online resize; +as a result volume expansion usually requires no application downtime. +Filesystem expansion on the node is also performed online and hence does not require shutting +down any Pod that was using the PVC. + +If you expand a PersistentVolume that is not in use, Kubernetes does an offline resize (and, +because the volume isn't in use, there is again no workload disruption). In some cases though - if underlying Storage Driver can only support offline expansion, users of the PVC must take down their Pod before expansion can succeed. Please refer to documentation of your storage provider to find out - what mode of volume expansion it supports. From a83202860aad80f3c387f95388ff33b76ede6099 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Mon, 25 Apr 2022 12:55:04 -0400 Subject: [PATCH 17/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index 42018546bf..6871d6d135 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -92,7 +92,11 @@ online expansion then no Pod restart should be necessary for volume expansion to ## Next steps -Although Volume expansion is going GA with 1.24 - we are continously working to make it simpler for users of Kubernetes to expand their persistent volumes. Kubernetes 1.23 introduced feature `RecoverVolumeExpansionFailure` - so as users can themselves recover from volume expansion failures (usually recovering from volume expansion requires admin intervention) whenever possible. See - [Rcovering from volume expansion failure](/docs/concepts/storage/persistent-volumes/#recovering-from-failure-when-expanding-volumes) for more details. +Although volume expansion is now stable as part of the recent v1.24 release, +SIG Storage are working to make it even simpler for users of Kubernetes to expand their persistent storage. +Kubernetes 1.23 introduced features for triggering recovery from failed volume expansion, allowing users +to attempt self-service healing after a failed resize. +See [Recovering from volume expansion failure](/docs/concepts/storage/persistent-volumes/#recovering-from-failure-when-expanding-volumes) for more details. The Kubernetes contributor community is also discussing the potential for StatefulSet-driven storage expansion. This proposed feature would let you trigger expansion for all underlying PVs that are providing storage to a StatefulSet, From 64efcec53c16161f4fe6fa952ca2cad2c38fd1d4 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Fri, 29 Apr 2022 14:43:19 -0400 Subject: [PATCH 18/20] Update content/en/blog/_posts/2022-04-18-volume-expansion-ga.md Co-authored-by: Mickey Boxell --- content/en/blog/_posts/2022-04-18-volume-expansion-ga.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md index 6871d6d135..c0c2b208d9 100644 --- a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md @@ -1,7 +1,7 @@ --- layout: blog title: "Volume expansion now available as stable feature in Kubernetes 1.24" -date: 2022-04-18 +date: 2022-05-05 slug: volume-expansion-ga --- From b600619b529d9331e4468417a92975764528a3bf Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Fri, 29 Apr 2022 14:47:32 -0400 Subject: [PATCH 19/20] Change blog file name --- ...8-volume-expansion-ga.md => 2022-05-05-volume-expansion-ga.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename content/en/blog/_posts/{2022-04-18-volume-expansion-ga.md => 2022-05-05-volume-expansion-ga.md} (100%) diff --git a/content/en/blog/_posts/2022-04-18-volume-expansion-ga.md b/content/en/blog/_posts/2022-05-05-volume-expansion-ga.md similarity index 100% rename from content/en/blog/_posts/2022-04-18-volume-expansion-ga.md rename to content/en/blog/_posts/2022-05-05-volume-expansion-ga.md From 0854736af45c741adf6fe6e10e1203150dec9fd2 Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Tue, 3 May 2022 12:15:22 +0100 Subject: [PATCH 20/20] Update article title Follow the informal convention for post-release communications. --- content/en/blog/_posts/2022-05-05-volume-expansion-ga.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/en/blog/_posts/2022-05-05-volume-expansion-ga.md b/content/en/blog/_posts/2022-05-05-volume-expansion-ga.md index c0c2b208d9..c97d50ea31 100644 --- a/content/en/blog/_posts/2022-05-05-volume-expansion-ga.md +++ b/content/en/blog/_posts/2022-05-05-volume-expansion-ga.md @@ -1,13 +1,12 @@ --- layout: blog -title: "Volume expansion now available as stable feature in Kubernetes 1.24" +title: "Kubernetes 1.24: Volume Expansion Now A Stable Feature" date: 2022-05-05 slug: volume-expansion-ga --- **Author:** Hemant Kumar (Red Hat) - Volume expansion was introduced as a alpha feature in Kubernetes 1.8 and it went beta in 1.11 and with Kubernetes 1.24 we are excited to announce general availability(GA) of volume expansion.