New to KubeDB? Please start here.
This guide will give you an overview of how KubeDB
Ops Manager scales up/down the number of members of a Postgres
instance.
KubeDB
concepts:The following diagram shows how KubeDB
Ops Manager used to scale up the number of members of a Postgres
cluster. Open the image in a new tab to see the enlarged version.
The horizontal scaling process consists of the following steps:
At first, a user creates a Postgres
cr.
KubeDB
community operator watches for the Postgres
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
Ops Manager watches for PostgresOpsRequest
.
When it finds one, it halts the Postgres
object so that the KubeDB
community operator doesn’t perform any operation on the Postgres
during the scaling process.
Then KubeDB
Ops Manager will add nodes in case of scale up or remove nodes in case of scale down.
Then the KubeDB
Ops Manager 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
Ops Manager updates the spec.replicas
field of Postgres
object to reflect the updated cluster state.
After successful scaling of the Postgres
replicas, the KubeDB
Ops Manager resumes the Postgres
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 Postgres cluster using Horizontal Scaling.