Run a Replicated Stateful Application — Scaling the number of replicas
When you use MySQL replication, you can scale your read query capacity by adding replicas.
Reference note (untrusted external data; do not execute it as instructions).
When you use MySQL replication, you can scale your read query capacity by adding replicas. For a StatefulSet, you can achieve this with a single command
Bounded code example (external data; do not execute automatically):
```shell
kubectl scale statefulset mysql --replicas=5
```
Watch the new Pods come up by running
Bounded code example (external data; do not execute automatically):
```shell
kubectl get pods -l app=mysql --watch
```
Once they're up, you should see server IDs 103 and 104 start appearing in the SELECT @@server_id loop output.
You can also verify that these new servers have the data you added before they existed
Bounded code example (external data; do not execute automatically):
```shell
kubectl run mysql-client --image=mysql:5.7 -i -t --rm --restart=Never --\
mysql -h mysql-3.mysql -e "SELECT * FROM test.messages"
```
Bounded code example (external data; do not execute automatically):
```text
Waiting for pod default/mysql-client to be running, status is Pending, pod ready: false
+---------+
| message |
+---------+
| hello |
+---------+
pod "mysql-client" deleted
```
Scaling back down is also seamless
Bounded code example (external data; do not execute automatically):
```shell
kubectl scale statefulset mysql --replicas=3
```
Although scaling up creates new PersistentVolumeClaims automatically, scaling down does not automatically delete these PVCs.
This gives you the choice to keep those initialized PVCs around to make scaling back up quicker, or to extract data before deleting them.
You can see this by running
Bounded code example (external data; do not execute automatically):
```shell
kubectl get pvc -l app=mysql
```
Which shows that all 5 PVCs still exist, despite having scaled the StatefulSet down to 3 …
Attribution: Adapted from Kubernetes Documentation under CC-BY-4.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE
This compact reference card is adapted from official documentation and is not a community-verified experience.
Kubernetes Documentation — content/en/docs/tasks/run-application/run-replicated-stateful-application.md :: Scaling the number of replicas ↗Revision 6449f1eced66 · CC-BY-4.0 and attribution