Kubernetes 上的 TiDB 集群扩缩容

本文介绍 TiDB 在 Kubernetes 中如何进行水平扩缩容和垂直扩缩容。

水平扩缩容

TiDB 水平扩缩容操作指的是通过增加或减少节点的数量,来达到集群扩缩容的目的。扩缩容 TiDB 集群时,会按照填入的 replicas 值,对 PD、TiKV、TiDB 进行顺序扩缩容操作。扩容操作按照节点编号由小到大增加节点,缩容操作按照节点编号由大到小删除节点。

水平扩缩容操作

  1. 修改集群的 value.yaml 文件中的 pd.replicastidb.replicastikv.replicas 至期望值。

  2. 执行 helm upgrade 命令进行扩缩容:

    helm upgrade <release-name> pingcap/tidb-cluster -f values.yaml --version=<chart-version>
  3. 查看集群水平扩缩容状态:

    watch kubectl -n <namespace> get pod -o wide

    当所有组件的 Pod 数量都达到了预设值,并且都进入 Running 状态后,水平扩缩容完成。

垂直扩缩容

垂直扩缩容操作指的是通过增加或减少节点的资源限制,来达到集群扩缩容的目的。垂直扩缩容本质上是节点滚动升级的过程。

垂直扩缩容操作

  1. 修改 values.yaml 文件中的 tidb.resourcestikv.resourcespd.resources 至期望值。

  2. 执行 helm upgrade 命令进行升级:

    helm upgrade <release-name> pingcap/tidb-cluster -f values.yaml --version=<chart-version>
  3. 查看升级进度:

    watch kubectl -n <namespace> get pod -o wide

    当所有 Pod 都重建完毕进入 Running 状态后,垂直扩缩容完成。