New to KubeDB? Please start here.
Redis Horizontal Scaling
This guide will give an overview on how KubeDB Ops Manager scales up or down of Redis
cluster database for both the number of replicas and shards.
Before You Begin
- You should be familiar with the following
KubeDB
concepts:
How Horizontal Scaling Process Works
The following diagram shows how KubeDB Ops Manager scales up or down Redis
database components. Open the image in a new tab to see the enlarged version.
The updating process consists of the following steps:
At first, a user creates a
Redis
/RedisSentinel
Custom Resource (CR).KubeDB
Community operator watches theRedis
andRedisSentinel
CR.When the operator finds a
Redis
/RedisSentinel
CR, it creates required number ofPetSets
and related necessary stuff like appbinding, services, etc.Then, in order to scale the number of replica or shard for the
Redis
cluster database the user creates aRedisOpsRequest
CR with desired information.Then, in order to scale the number of replica for the
RedisSentinel
instance the user creates aRedisSentinelOpsRequest
CR with desired information.KubeDB
Enterprise operator watches theRedisOpsRequest
andRedisSentinelOpsRequest
CR.When it finds a
RedisOpsRequest
CR, it halts theRedis
object which is referred from theRedisOpsRequest
. So, theKubeDB
Community operator doesn’t perform any operations on theRedis
object during the scaling process.When it finds a
RedisSentinelOpsRequest
CR, it halts theRedisSentinel
object which is referred from theRedisSentinelOpsRequest
. So, theKubeDB
Community operator doesn’t perform any operations on theRedisSentinel
object during the scaling process.Then the Redis Ops-manager operator will scale the related PetSet Pods to reach the expected number of shards and/or replicas defined in the RedisOpsRequest or RedisSentinelOpsRequest CR.
After the successful scaling the replicas of the related PetSet Pods, the KubeDB Ops-manager operator updates the number of replicas/shards in the Redis/RedisSentinel object to reflect the updated state.
After successfully updating of
Redis
/RedisSentinel
object, theKubeDB
Enterprise operator resumes theRedis
/RedisSentinel
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 updating of a Redis database using scale operation.