New to KubeDB? Please start here.
This guide will give you an overview on how KubeDB Ops Manager update the version of Redis
database.
KubeDB
concepts:The following diagram shows how KubeDB Ops Manager used to update the version of Redis
. 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 the Redis
and RedisSentinel
CR.
When the operator finds a Redis
/RedisSentinel
CR, it creates required number of StatefulSets
and related necessary stuff like appbinding, services, etc.
Then, in order to update the version of the Redis
database the user creates a RedisOpsRequest
CR with the desired version.
Then, in order to update the version of the RedisSentinel
database the user creates a RedisSentinelOpsRequest
CR with the desired version.
KubeDB
Enterprise operator watches the RedisOpsRequest
and RedisSentinelOpsRequest
CR.
When it finds a RedisOpsRequest
CR, it halts the Redis
object which is referred from the RedisOpsRequest
. So, the KubeDB
Community operator doesn’t perform any operations on the Redis
object during the updating process.
When it finds a RedisSentinelOpsRequest
CR, it halts the RedisSentinel
object which is referred from the RedisSentinelOpsRequest
. So, the KubeDB
Community operator doesn’t perform any operations on the RedisSentinel
object during the updating process.
By looking at the target version from RedisOpsRequest
/RedisSentinelOpsRequest
CR, KubeDB
Enterprise operator updates the images of all the StatefulSets
.
After successfully updating the StatefulSets
and their Pods
images, the KubeDB
Enterprise operator updates the image of the Redis
/RedisSentinel
object to reflect the updated state of the database.
After successfully updating of Redis
/RedisSentinel
object, the KubeDB
Enterprise operator resumes the Redis
/RedisSentinel
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 updating of a Redis database using update operation.