Volume expansion increases the storage allocated to broker pods. The underlying StorageClass must support volume expansion.
Before proceeding, verify your environment meets these requirements:
kubectl v1.21+ installed and configured with cluster accessVolume expansion requires a StorageClass with allowVolumeExpansion: true. Verify this before proceeding:
kubectl get storageclass
The broker data PVC stores message logs. Use the sharding group name broker to expand from 10Gi to 20Gi:
kubectl apply -f - <<EOF
apiVersion: operations.kubeblocks.io/v1alpha1
kind: OpsRequest
metadata:
name: rocketmq-volumeexpansion
namespace: demo
spec:
clusterName: rocketmq-cluster
type: VolumeExpansion
volumeExpansion:
- componentName: broker
volumeClaimTemplates:
- name: data
storage: 20Gi
EOF
Monitor progress:
kubectl get opsrequest rocketmq-volumeexpansion -n demo -w
NAME TYPE CLUSTER STATUS PROGRESS AGE
rocketmq-volumeexpansion VolumeExpansion rocketmq-cluster Succeed 1/1 60s
Verify the new storage size:
kubectl get pvc -n demo -l app.kubernetes.io/instance=rocketmq-cluster
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-rocketmq-cluster-broker-t9j-0 Bound ... 20Gi RWO standard 10m
kubectl delete opsrequest rocketmq-volumeexpansion -n demo --ignore-not-found