New to KubeDB? Please start here.
PgBouncer Vertical Scaling
This guide will give an overview on how KubeDB Ops-manager operator updates the resources(for example CPU and Memory etc.) of the PgBouncer
.
Before You Begin
- You should be familiar with the following
KubeDB
concepts:
How Vertical Scaling Process Works
The following diagram shows how KubeDB Ops-manager operator updates the resources of the PgBouncer
. Open the image in a new tab to see the enlarged version.
The vertical scaling process consists of the following steps:
At first, a user creates a
PgBouncer
Custom Resource (CR).KubeDB
Provisioner operator watches thePgBouncer
CR.When the operator finds a
PgBouncer
CR, it createsPetSet
and related necessary stuff like secrets, services, etc.Then, in order to update the resources(for example
CPU
,Memory
etc.) of thePgBouncer
, the user creates aPgBouncerOpsRequest
CR with desired information.KubeDB
Ops-manager operator watches thePgBouncerOpsRequest
CR.When it finds a
PgBouncerOpsRequest
CR, it pauses thePgBouncer
object which is referred from thePgBouncerOpsRequest
. So, theKubeDB
Provisioner operator doesn’t perform any operations on thePgBouncer
object during the vertical scaling process.Then the
KubeDB
Ops-manager operator will update resources of the PetSet to reach desired state.After the successful update of the resources of the PetSet’s replica, the
KubeDB
Ops-manager operator updates thePgBouncer
object to reflect the updated state.After the successful update of the
PgBouncer
resources, theKubeDB
Ops-manager operator resumes thePgBouncer
object so that theKubeDB
Provisioner operator resumes its usual operations.
In the next docs, we are going to show a step-by-step guide on updating resources of PgBouncer PgBouncerOpsRequest
CRD.