This document introduces how to horizontally and vertically scale a TiDB cluster in Kubernetes.
Horizontally scaling TiDB means that you scale TiDB out or in by adding or remove nodes in your pool of resources. When you scale a TiDB cluster, PD, TiKV, and TiDB are scaled out or in sequentially according to the values of their replicas. Scaling out operations add nodes based on the node ID in ascending order, while scaling in operations remove nodes based on the node ID in descending order.
To perform a horizontal scaling operation:
value.yamlfile of the cluster to a desired value.
helm upgradecommand to scale out or in:helm upgrade <release-name> pingcap/tidb-cluster -f values.yaml --version=<chart_version>
View the cluster's scaling status:watch kubectl -n <namespace> get pod -o wide
When the number of Pods for all components reaches the preset value and all components go to the
Runningstate, the horizontal scaling is completed.
Vertically scaling TiDB means that you scale TiDB up or down by increasing or decreasing the limit of resources on the node. Vertically scaling is essentially the rolling update of the nodes.
To perform a vertical scaling operation:
values.yamlfile to a desired value.
helm upgradecommand to upgrade:helm upgrade <release-name> pingcap/tidb-cluster -f values.yaml --version=<chart_version>
View the progress of the upgrade:watch kubectl -n <namespace> get pod -o wide
When all Pods are rebuilt and in the
Runningstate, the vertical scaling is completed.