跳到主要内容

磁盘扩容

KubeBlocks 支持 Pod 存储磁盘扩容。

备注

磁盘扩容将触发 Pod 重启。重启后,主节点可能会发生变化。

开始之前

确保集群处于 Running 状态,否则后续操作可能会失败。

kubectl -n demo get cluster mycluster
>
NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE
mycluster postgresql postgresql-14.8.0 Delete Running 29m

步骤

  1. 应用 OpsRequest。根据需求更改 storage 的值,并执行以下命令来更改集群的存储容量。

    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: postgresql
    volumeClaimTemplates:
    - name: data
    storage: "40Gi"
    EOF
  2. 验证磁盘扩容操作是否成功。

    kubectl get ops -n demo
    >
    NAMESPACE NAME TYPE CLUSTER STATUS PROGRESS AGE
    demo ops-volume-expansion VolumeExpansion mycluster Succeed 3/3 6m
  3. 当 OpsRequest 状态为 Succeed 或集群状态再次回到 Running 后,查看对应的集群资源是否变更。

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