Skip to main content
Version: Preview

Expand volume

You can expand the storage volume size of each pod.

note

Volume expansion triggers a restart and the pod role may change after the operation.

Before you start

Check whether the cluster STATUS is Running. Otherwise, the following operations may fail.

kubectl get cluster mycluster -n demo
>
NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE
mycluster redis redis-7.0.6 Delete Running 4d18h

Steps

There are two ways to apply volume expansion.

  1. Apply an OpsRequest. Change the value of storage according to your need and run the command below to expand the volume of a cluster.

    kubectl apply -f - <<EOF
    apiVersion: apps.kubeblocks.io/v1alpha1
    kind: OpsRequest
    metadata:
    name: ops-volume-expansion
    namespace: demo
    spec:
    clusterName: mycluster
    type: VolumeExpansion
    volumeExpansion:
    - componentName: redis
    volumeClaimTemplates:
    - name: data
    storage: "40Gi"
    EOF
  2. Validate the volume expansion operation.

    kubectl get ops -n demo
    >
    NAMESPACE NAME TYPE CLUSTER STATUS PROGRESS AGE
    demo ops-volume-expansion VolumeExpansion mycluster Succeed 3/3 6m
  3. Check whether the corresponding cluster resources change.

    kubectl describe cluster mycluster -n demo
    >
    ......
    Volume Claim Templates:
    Name: data
    Spec:
    Access Modes:
    ReadWriteOnce
    Resources:
    Requests:
    Storage: 40Gi