跳到主要内容

磁盘扩容

KubeBlocks 支持调整 Pod 磁盘容量。

备注

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

开始之前

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

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

步骤

当前支持通过以下两种方式扩容磁盘。

  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: mysql
    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

    如果操作过程中出现报错,可通过 kubectl describe ops -n demo 查看该操作的事件,协助排障。

  3. 查看对应的集群资源是否变更。

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