From 9f67d857e8d1aeef5f7b9257673254872716a31c Mon Sep 17 00:00:00 2001 From: kaitlynmichael Date: Thu, 2 May 2024 10:58:45 -0500 Subject: [PATCH 1/9] intro draft --- .../kubernetes/re-clusters/expand-pvc.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 content/operate/kubernetes/re-clusters/expand-pvc.md diff --git a/content/operate/kubernetes/re-clusters/expand-pvc.md b/content/operate/kubernetes/re-clusters/expand-pvc.md new file mode 100644 index 000000000..d7610a1e2 --- /dev/null +++ b/content/operate/kubernetes/re-clusters/expand-pvc.md @@ -0,0 +1,48 @@ +--- +Title: Expand PersistentVolumeClaim (PVC) +alwaysopen: false +categories: +- docs +- operate +- kubernetes +description: +linkTitle: Expand PVC +weight: 15 +--- + +PersistentVolumeClaims (PVC) are created by the Redis Enterprise for Kubernetes operator and use dy the RedisEnterpriseCluster (REC). PVCs are created with a specific size and can be resized if the underlying stoarge class supports it. + +## Before you start + +### StatefulSet + +- **Be careful!** This process involves deleting and recreating the REC StatefulSet with a new persistent volume size. + +- Do not change any other REC fields related to the StatefulSet while resizing is in progress. + +- The pods owned by the StatefulSet are not restarted or affected by the deletion and recreation process, except when they momentarily become "orphaned". + +### StorageClass + +- PVC expansion must be supported and enabled by the StorageClass and underlying storage driver of the REC PVCs. + +- Verify the StorageClass is configured with `allowVolumeExpansion: true`. + +- Verify your storage driver supports online expansion. + + +### Not supported + + +### Highly recommended + +## Expand REC PVC + +1. Enable the REC persistent volume resize flag. + + ```YAML + spec: + persistentSpec: + enablePersistentVolumeResize: true + ``` + From 25d68671614a34381abcaeb0c7edce99d075b482 Mon Sep 17 00:00:00 2001 From: kaitlynmichael Date: Thu, 2 May 2024 11:39:43 -0500 Subject: [PATCH 2/9] DOC-3664 initial draft --- .../kubernetes/re-clusters/expand-pvc.md | 66 ++++++++++++++++--- 1 file changed, 56 insertions(+), 10 deletions(-) diff --git a/content/operate/kubernetes/re-clusters/expand-pvc.md b/content/operate/kubernetes/re-clusters/expand-pvc.md index d7610a1e2..40d1eb2e4 100644 --- a/content/operate/kubernetes/re-clusters/expand-pvc.md +++ b/content/operate/kubernetes/re-clusters/expand-pvc.md @@ -10,39 +10,85 @@ linkTitle: Expand PVC weight: 15 --- -PersistentVolumeClaims (PVC) are created by the Redis Enterprise for Kubernetes operator and use dy the RedisEnterpriseCluster (REC). PVCs are created with a specific size and can be resized if the underlying stoarge class supports it. +PersistentVolumeClaims (PVC) are created by the Redis Enterprise for Kubernetes operator and use dy the RedisEnterpriseCluster (REC). PVCs are created with a specific size and can be expanded if the underlying storage class supports it. ## Before you start ### StatefulSet - **Be careful!** This process involves deleting and recreating the REC StatefulSet with a new persistent volume size. - - Do not change any other REC fields related to the StatefulSet while resizing is in progress. - - The pods owned by the StatefulSet are not restarted or affected by the deletion and recreation process, except when they momentarily become "orphaned". ### StorageClass - PVC expansion must be supported and enabled by the StorageClass and underlying storage driver of the REC PVCs. - +-The relevant StorageClass is the one associated with the REC PVCs. The StorageClass for existing PVCs cannot be changed. - Verify the StorageClass is configured with `allowVolumeExpansion: true`. - - Verify your storage driver supports online expansion. - ### Not supported +- Shrinking (reducing the size) of your PVC is not allowed. This process only allows you to expand (size up) your PVC. ### Highly recommended +- We highly recommend you backup your databases before beginning this PV expansion process. + ## Expand REC PVC -1. Enable the REC persistent volume resize flag. - +1. Enable the REC persistent volume resize flag. + + ```YAML + spec: + persistentSpec: + enablePersistentVolumeResize: true + ``` + +1. Set the value of `volumeSize` to your desired size. + ```YAML spec: - persistentSpec: - enablePersistentVolumeResize: true + persistentSpec: + enablePersistentVolumeResize: true + volumeSize: ``` +1. Apply the changes to the REC, replacing `` with the name of your REC. + + ```sh + kubectl apply -f + ``` + + After applying the REC changes, the PVCs will begin to resize to the new size. + + Once all the PVCs finish the resizing process, the operator will delete and recreate the StatefulSet with the new volume size. + +1. Track the progress by monitoring the status of the REC and PersistentVolumeClaim objects. + +The REC status will correspond to the status of one or more PVCs, and will reflect if they resizing is successful or failed. + +While the resizing is in progress, the status will be: + +```yaml +status: + persistenceStatus: + status: Resizing + succeeded: 2/3 +``` + +When the resizing is complete, the status becomes "Provisioned" and the new volume size is available for use by the REC pods. + +```yaml +status: + persistenceStatus: + status: Provisioned + succeeded: 3/3 +``` + +## Troubleshooting + +If an error occurs during this process: + +- Examine the status and events of the REC and PVC objects. +- Examine the logs of the operator pods. \ No newline at end of file From 40d5e4bd0179a029ee0c8f21d4af84e509605a5e Mon Sep 17 00:00:00 2001 From: kaitlynmichael Date: Thu, 2 May 2024 11:52:56 -0500 Subject: [PATCH 3/9] fix numbering with subsections --- content/operate/kubernetes/re-clusters/expand-pvc.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/content/operate/kubernetes/re-clusters/expand-pvc.md b/content/operate/kubernetes/re-clusters/expand-pvc.md index 40d1eb2e4..796399a90 100644 --- a/content/operate/kubernetes/re-clusters/expand-pvc.md +++ b/content/operate/kubernetes/re-clusters/expand-pvc.md @@ -60,11 +60,13 @@ PersistentVolumeClaims (PVC) are created by the Redis Enterprise for Kubernetes kubectl apply -f ``` - After applying the REC changes, the PVCs will begin to resize to the new size. +After applying the REC changes, the PVCs will begin to resize to the new size. - Once all the PVCs finish the resizing process, the operator will delete and recreate the StatefulSet with the new volume size. +Once all the PVCs finish the resizing process, the operator will delete and recreate the StatefulSet with the new volume size. -1. Track the progress by monitoring the status of the REC and PersistentVolumeClaim objects. +### Track progress + +You can track the progress by monitoring the status of the REC and PersistentVolumeClaim objects. The REC status will correspond to the status of one or more PVCs, and will reflect if they resizing is successful or failed. @@ -86,7 +88,7 @@ status: succeeded: 3/3 ``` -## Troubleshooting +### Troubleshooting If an error occurs during this process: From b2bf821eb3f7903a9a711969817926de28769e31 Mon Sep 17 00:00:00 2001 From: Kaitlyn Michael <76962844+kaitlynmichael@users.noreply.github.com> Date: Mon, 6 May 2024 15:49:54 -0500 Subject: [PATCH 4/9] Update content/operate/kubernetes/re-clusters/expand-pvc.md Co-authored-by: David Dougherty --- content/operate/kubernetes/re-clusters/expand-pvc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/kubernetes/re-clusters/expand-pvc.md b/content/operate/kubernetes/re-clusters/expand-pvc.md index 796399a90..4201e531a 100644 --- a/content/operate/kubernetes/re-clusters/expand-pvc.md +++ b/content/operate/kubernetes/re-clusters/expand-pvc.md @@ -33,7 +33,7 @@ PersistentVolumeClaims (PVC) are created by the Redis Enterprise for Kubernetes ### Highly recommended -- We highly recommend you backup your databases before beginning this PV expansion process. +- We highly recommend you backup your databases before beginning this PVC expansion process. ## Expand REC PVC From b6e6f383b94383b852fe3a461f43e31f6250a921 Mon Sep 17 00:00:00 2001 From: Kaitlyn Michael <76962844+kaitlynmichael@users.noreply.github.com> Date: Tue, 7 May 2024 07:40:17 -0500 Subject: [PATCH 5/9] Apply suggestions from code review Co-authored-by: mich-elle-luna <153109578+mich-elle-luna@users.noreply.github.com> --- content/operate/kubernetes/re-clusters/expand-pvc.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/operate/kubernetes/re-clusters/expand-pvc.md b/content/operate/kubernetes/re-clusters/expand-pvc.md index 4201e531a..0b961f4e6 100644 --- a/content/operate/kubernetes/re-clusters/expand-pvc.md +++ b/content/operate/kubernetes/re-clusters/expand-pvc.md @@ -23,7 +23,7 @@ PersistentVolumeClaims (PVC) are created by the Redis Enterprise for Kubernetes ### StorageClass - PVC expansion must be supported and enabled by the StorageClass and underlying storage driver of the REC PVCs. --The relevant StorageClass is the one associated with the REC PVCs. The StorageClass for existing PVCs cannot be changed. +- The relevant StorageClass is the one associated with the REC PVCs. The StorageClass for existing PVCs cannot be changed. - Verify the StorageClass is configured with `allowVolumeExpansion: true`. - Verify your storage driver supports online expansion. @@ -60,7 +60,7 @@ PersistentVolumeClaims (PVC) are created by the Redis Enterprise for Kubernetes kubectl apply -f ``` -After applying the REC changes, the PVCs will begin to resize to the new size. +After applying the REC changes, the PVCs will begin to expand to the new size. Once all the PVCs finish the resizing process, the operator will delete and recreate the StatefulSet with the new volume size. @@ -68,7 +68,7 @@ Once all the PVCs finish the resizing process, the operator will delete and recr You can track the progress by monitoring the status of the REC and PersistentVolumeClaim objects. -The REC status will correspond to the status of one or more PVCs, and will reflect if they resizing is successful or failed. +The REC status will correspond to the status of one or more PVCs, and will reflect if the resizing is successful or failed. While the resizing is in progress, the status will be: @@ -79,7 +79,7 @@ status: succeeded: 2/3 ``` -When the resizing is complete, the status becomes "Provisioned" and the new volume size is available for use by the REC pods. +When the resizing is complete, the status becomes Provisioned and the new volume size is available for use by the REC pods. ```yaml status: From 01072ade4d3de5d79023b61b0522ba8898a7110b Mon Sep 17 00:00:00 2001 From: Kaitlyn Michael <76962844+kaitlynmichael@users.noreply.github.com> Date: Tue, 7 May 2024 07:40:40 -0500 Subject: [PATCH 6/9] Update content/operate/kubernetes/re-clusters/expand-pvc.md --- content/operate/kubernetes/re-clusters/expand-pvc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/kubernetes/re-clusters/expand-pvc.md b/content/operate/kubernetes/re-clusters/expand-pvc.md index 0b961f4e6..cbf9d883e 100644 --- a/content/operate/kubernetes/re-clusters/expand-pvc.md +++ b/content/operate/kubernetes/re-clusters/expand-pvc.md @@ -10,7 +10,7 @@ linkTitle: Expand PVC weight: 15 --- -PersistentVolumeClaims (PVC) are created by the Redis Enterprise for Kubernetes operator and use dy the RedisEnterpriseCluster (REC). PVCs are created with a specific size and can be expanded if the underlying storage class supports it. +PersistentVolumeClaims (PVC) are created by the Redis Enterprise for Kubernetes operator and used by the RedisEnterpriseCluster (REC). PVCs are created with a specific size and can be expanded if the underlying storage class supports it. ## Before you start From 045ee11103b11880a0bac18d1065c247e155a567 Mon Sep 17 00:00:00 2001 From: Kaitlyn Michael <76962844+kaitlynmichael@users.noreply.github.com> Date: Tue, 7 May 2024 07:40:48 -0500 Subject: [PATCH 7/9] Update content/operate/kubernetes/re-clusters/expand-pvc.md --- content/operate/kubernetes/re-clusters/expand-pvc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/kubernetes/re-clusters/expand-pvc.md b/content/operate/kubernetes/re-clusters/expand-pvc.md index cbf9d883e..40cdd81f6 100644 --- a/content/operate/kubernetes/re-clusters/expand-pvc.md +++ b/content/operate/kubernetes/re-clusters/expand-pvc.md @@ -5,7 +5,7 @@ categories: - docs - operate - kubernetes -description: +description: Expand your persistent volume claim with the Redis Enterprise for Kubernetes operator. linkTitle: Expand PVC weight: 15 --- From b4d2a480f99cc1a3d936286f063de4b4ca092276 Mon Sep 17 00:00:00 2001 From: kaitlynmichael Date: Tue, 7 May 2024 17:38:33 -0500 Subject: [PATCH 8/9] review edits --- .../kubernetes/re-clusters/expand-pvc.md | 30 ++++++++----------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/content/operate/kubernetes/re-clusters/expand-pvc.md b/content/operate/kubernetes/re-clusters/expand-pvc.md index 40cdd81f6..05327c57a 100644 --- a/content/operate/kubernetes/re-clusters/expand-pvc.md +++ b/content/operate/kubernetes/re-clusters/expand-pvc.md @@ -5,34 +5,28 @@ categories: - docs - operate - kubernetes -description: Expand your persistent volume claim with the Redis Enterprise for Kubernetes operator. +description: Expand your persistent volume claim by editing the REC. linkTitle: Expand PVC weight: 15 --- -PersistentVolumeClaims (PVC) are created by the Redis Enterprise for Kubernetes operator and used by the RedisEnterpriseCluster (REC). PVCs are created with a specific size and can be expanded if the underlying storage class supports it. +This article outlines steps to increase the size of the persistent volume claim for your Redis Enterprise cluster (REC). -## Before you start +[PersistentVolumeClaims (PVC)](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims) are created by the Redis Enterprise operator and used by the RedisEnterpriseCluster (REC). PVCs are created with a specific size and [can be expanded](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims) with the following steps, if the underlying [storage class](https://kubernetes.io/docs/concepts/storage/storage-classes/) supports it. -### StatefulSet +This process involves deleting and recreating the REC StatefulSet with a larger persistent volume size. The pods owned by the StatefulSet are not restarted or affected by the deletion and recreation process, except when they are left without an owner momentarily. -- **Be careful!** This process involves deleting and recreating the REC StatefulSet with a new persistent volume size. -- Do not change any other REC fields related to the StatefulSet while resizing is in progress. -- The pods owned by the StatefulSet are not restarted or affected by the deletion and recreation process, except when they momentarily become "orphaned". +{{}}Shrinking (reducing the size) of your PVC is not allowed. This process only allows you to expand (size up) your PVC.{{}} -### StorageClass +## Prerequisites -- PVC expansion must be supported and enabled by the StorageClass and underlying storage driver of the REC PVCs. -- The relevant StorageClass is the one associated with the REC PVCs. The StorageClass for existing PVCs cannot be changed. -- Verify the StorageClass is configured with `allowVolumeExpansion: true`. -- Verify your storage driver supports online expansion. - -### Not supported - -- Shrinking (reducing the size) of your PVC is not allowed. This process only allows you to expand (size up) your PVC. - -### Highly recommended +{{}}Do not change any other REC fields related to the StatefulSet while resizing is in progress. +{{}} +- PVC expansion must be supported and enabled by the StorageClass and underlying storage driver of the REC PVCs. + - The relevant StorageClass is the one associated with the REC PVCs. The StorageClass for existing PVCs cannot be changed. +- The StorageClass is must be configured with `allowVolumeExpansion: true`. +- Your storage driver must support online expansion. - We highly recommend you backup your databases before beginning this PVC expansion process. ## Expand REC PVC From 299abe465ca0ede8ec87d09eea10e306c9986b79 Mon Sep 17 00:00:00 2001 From: Kaitlyn Michael <76962844+kaitlynmichael@users.noreply.github.com> Date: Wed, 8 May 2024 15:02:02 -0500 Subject: [PATCH 9/9] Update content/operate/kubernetes/re-clusters/expand-pvc.md Co-authored-by: mich-elle-luna <153109578+mich-elle-luna@users.noreply.github.com> --- content/operate/kubernetes/re-clusters/expand-pvc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/kubernetes/re-clusters/expand-pvc.md b/content/operate/kubernetes/re-clusters/expand-pvc.md index 05327c57a..11071d970 100644 --- a/content/operate/kubernetes/re-clusters/expand-pvc.md +++ b/content/operate/kubernetes/re-clusters/expand-pvc.md @@ -25,7 +25,7 @@ This process involves deleting and recreating the REC StatefulSet with a larger - PVC expansion must be supported and enabled by the StorageClass and underlying storage driver of the REC PVCs. - The relevant StorageClass is the one associated with the REC PVCs. The StorageClass for existing PVCs cannot be changed. -- The StorageClass is must be configured with `allowVolumeExpansion: true`. +- The StorageClass must be configured with `allowVolumeExpansion: true`. - Your storage driver must support online expansion. - We highly recommend you backup your databases before beginning this PVC expansion process.