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 enterprise operator scales up/down the number of members of a Postgres
instance.
Before You Begin
- You should be familiar with the following
KubeDB
concepts:
How Horizontal Scaling Process Works
The following diagram shows how KubeDB enterprise operator used to scale up the number of members of a Postgres
cluster. Open the image in a new tab to see the enlarged version.
![Horizontal scaling Flow](/docs/v2023.11.2/guides/postgres/scaling/horizontal-scaling/overview/images/pg-horizontal-scaling.png)
The horizontal scaling process consists of the following steps:
At first, a user creates a
Postgres
cr.KubeDB
community operator watches for thePostgres
cr.When it finds one, it creates a
StatefulSet
and related necessary stuff like secret, service, etc.Then, in order to scale the cluster, the user creates a
PostgresOpsRequest
cr with the desired number of members after scaling.KubeDB
enterprise operator watches forPostgresOpsRequest
.When it finds one, it halts the
Postgres
object so that theKubeDB
community operator doesn’t perform any operation on thePostgres
during the scaling process.Then
KubeDB
enterprise operator will add nodes in case of scale up or remove nodes in case of scale down.Then the
KubeDB
enterprise operator will scale the StatefulSet replicas to reach the expected number of replicas for the cluster.After successful scaling of the StatefulSet’s replica, the
KubeDB
enterprise operator updates thespec.replicas
field ofPostgres
object to reflect the updated cluster state.After successful scaling of the
Postgres
replicas, theKubeDB
enterprise operator resumes thePostgres
object so that theKubeDB
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 Postgres cluster using Horizontal Scaling.