You are looking at the documentation of a prior release. To read the documentation of the latest release, please visit here.

New to KubeDB? Please start here.

Horizontal Scaling Overview

This guide will give you an overview of how KubeDB Ops Manager scales up/down the number of members of a MySQL group replication.

Before You Begin

How Horizontal Scaling Process Works

The following diagram shows how KubeDB Ops Manager used to scale up the number of members of a MySQL group replication. Open the image in a new tab to see the enlarged version.

Stash Backup Flow
Fig: Horizontal scaling process of MySQL group replication

The horizontal scaling process consists of the following steps:

  1. At first, a user creates a MySQL cr.

  2. KubeDB community operator watches for the MySQL cr.

  3. When it finds one, it creates a PetSet and related necessary stuff like secret, service, etc.

  4. Then, in order to scale the cluster, the user creates a MySQLOpsRequest cr with the desired number of members after scaling.

  5. KubeDB Ops Manager watches for MySQLOpsRequest.

  6. When it finds one, it halts the MySQL object so that the KubeDB community operator doesn’t perform any operation on the MySQL during the scaling process.

  7. Then the KubeDB Ops Manager will scale the PetSet replicas to reach the expected number of members for the group replication.

  8. After successful scaling of the PetSet’s replica, the KubeDB Ops Manager updates the spec.replicas field of MySQL object to reflect the updated cluster state.

  9. After successful scaling of the MySQL replicas, the KubeDB Ops Manager resumes the MySQL object so that the KubeDB community operator can resume its usual operations.

In the next doc, we are going to show a step by step guide on scaling of a MySQL group replication using Horizontal Scaling.