New to KubeDB? Please start here.
RabbitMQ 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 RabbitMQ database.
Before You Begin
- You should be familiar with the following
KubeDBconcepts:
How Vertical Scaling Process Works
The following diagram shows how KubeDB Ops-manager operator updates the resources of the RabbitMQ database. 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
RabbitMQCustom Resource (CR).KubeDBProvisioner operator watches theRabbitMQCR.When the operator finds a
RabbitMQCR, it creates required number ofStatefulSetsand related necessary stuff like secrets, services, etc.Then, in order to update the resources(for example
CPU,Memoryetc.) of theRabbitMQdatabase the user creates aRabbitMQOpsRequestCR with desired information.KubeDBOps-manager operator watches theRabbitMQOpsRequestCR.When it finds a
RabbitMQOpsRequestCR, it halts theRabbitMQobject which is referred from theRabbitMQOpsRequest. So, theKubeDBProvisioner operator doesn’t perform any operations on theRabbitMQobject during the vertical scaling process.Then the
KubeDBOps-manager operator will update resources of the StatefulSet Pods to reach desired state.After the successful update of the resources of the StatefulSet’s replica, the
KubeDBOps-manager operator updates theRabbitMQobject to reflect the updated state.After the successful update of the
RabbitMQresources, theKubeDBOps-manager operator resumes theRabbitMQobject so that theKubeDBProvisioner operator resumes its usual operations.
In the next docs, we are going to show a step by step guide on updating resources of RabbitMQ database using RabbitMQOpsRequest CRD.































