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.
Replace Sentinel Overview
This guide will give you an overview on how KubeDB Enterprise operator replaces sentinel of a Redis instance.
Before You Begin
- You should be familiar with the following
KubeDB
concepts:
How Replace Sentinel Process Works
The following diagram shows how KubeDB Enterprise operator replaces sentinel of Redis
. Open the image in a new tab to see the enlarged version.
The replace sentinel process consists of the following steps:
At first, a user creates
Redis
andRedisSentinel
Custom Resource (CR).KubeDB
Community operator watches theRedis
andRedisSentinel
CR.When the operator finds a
Redis
CR, it creates aStatefulSet
and related necessary stuff like appbinding, services, etc.When the operator finds a
RedisSentinel
CR, it creates aStatefulSet
and related necessary stuff like appbinding, services, etc.Then, in order to replace the sentinel of the
Redis
database the user creates a newRedisSentinel
object which will replace the old one andRedisOpsRequest
CR with reference to the newly created sentinel.KubeDB
Enterprise operator watches theRedisOpsRequest
CR.When it finds a
RedisOpsRequest
CR, it pauses theRedis
object which is referred from theRedisOpsRequest
. So, theKubeDB
Community operator doesn’t perform any operations on theRedis
object during the upgrading process.By looking at the target sentinel reference from
RedisOpsRequest
CR,KubeDB
Enterprise operator removes current sentinel and add desired sentinel to theRedis
object. Then it may delete the oldRedisSentinel
object if it is orphaned and user requested to remove it.After successfully updating
Redis
object, theKubeDB
Enterprise operator resumes theRedis
object so that theKubeDB
Community operator can resume its usual operations.
In the next docs, we are going to show a step-by-step guide on replacing sentinel of Redis database components using RedisOpsRequest
CRD.
Next Steps
- Replace Sentinel of your database with a new Sentinel