主动-主动数据库
与适用于 Kubernetes 的 Active-Active Redis Enterprise 数据库相关的内容。
适用于 Kubernetes 的 Redis Enterprise |
---|
在 Kubernetes 上,Redis Enterprise 主动-主动数据库提供对来自不同 Kubernetes 集群的相同数据集的读写访问权限。
主动-主动设置方法
使用 Redis Enterprise for Kubernetes 创建双活数据库有两种方法:
- 这
RedisEnterpriseActiveActiveDatabase
(REAADB) 自定义资源可用于版本 6.4.2 及更高版本。 - 这
crdb-cli
方法适用于版本 6.4.2 或更早版本。
我们建议使用 RedisEnterpriseActiveActiveDatabase (REAADB) 自定义资源创建新的主动-主动数据库。这允许您使用作员管理主动-主动数据库,并确保您拥有最新的特性和功能。
主动-主动控制器方式
版本 6.4.2-6 或更高版本完全支持主动-主动控制器。其中一些功能在 6.4.2-4 和 6.4.2-5 中作为预览版提供。请升级到 6.4.2-6 以获取完整的正式发布功能和错误修复。
此设置方法包括以下步骤:
- 收集 REC 凭证并准备参与的集群。
- 创造
RedisEnterpriseRemoteCluster
(RERC)资源。 - 创造
RedisEnterpriseActiveActiveDatabase
(REAADB)资源。
crdb-cli
方法
对于版本 6.4.2 或更早版本,此主动-主动设置方法包括以下步骤:
- 安装并配置 Ingress。
- 收集配置详细信息。
- 添加
ActiveActive
字段设置为 REC 规范。 - 使用
crdb-cli
工具。
适用于 Kubernetes 的 Redis Enterprise Active-Active 控制器
主动-主动数据库为您提供对不同 Kubernetes 集群或命名空间中的 Redis Enterprise 集群 (REC) 的读写访问权限。由 Redis Enterprise 运营商管理的双活部署需要两个额外的自定义资源:Redis Enterprise 双活数据库 (REAADB) 和 Redis Enterprise 远程集群 (RERC)。
要创建具有这些新功能的 Kubernetes 的主动-主动 Redis Enterprise 部署,请首先准备参与的集群,然后创建主动-主动数据库。
预览版
如果您使用的是这些功能的预览版本(作员版本 6.4.2-4 或 6.4.2-5),则需要通过以下步骤启用 Active-Active 控制器。您只需为每个集群执行一次此作。我们建议使用完全支持的 6.4.2-6 版本。
-
从 redis-enterprise-k8s-docs Github 下载最新版本 (6.4.2-4) 的自定义资源定义 (CRD)。
-
为 Redis Enterprise 主动-主动数据库 (REAADB) 和 Redis Enterprise 远程集群 (RERC) 应用新的 CRD 来安装这些控制器。
kubectl apply -f crds/reaadb_crd.yaml kubectl apply -f crds/rerc_crd.yaml
-
Enable the Active-Active and remote cluster controllers on the operator ConfigMap.
kubectl patch cm operator-environment-config --type merge --patch "{\"data\": \ {\"ACTIVE_ACTIVE_DATABASE_CONTROLLER_ENABLED\":\"true\", \ \"REMOTE_CLUSTER_CONTROLLER_ENABLED\":\"true\"}}"
REAADB custom resource
Redis Enterprise Active-Active database (REAADB) contains a link to the RERC for each participating cluster, and provides configuration and status to the management plane.
For a full list of fields and options, see the REAADB API reference.
RERC custom resource
Redis Enterprise remote cluster (RERC) custom resource contains configuration details for all the participating clusters.
For a full list of fields and options, see the RERC API reference.
Limitations
- Existing Redis databases cannot be migrated to a REAADB. (DOC-3594)
- Admission is not blocking REAADB with
shardCount
which exceeds license quota. (RED-96301)
Workaround: Fix the problems with the REAADB and reapply.
- The
<rec-name>/<rec-namespace>
value must be unique for each RERC resource. (RED-96302)
- Only global database options are supported, no support for specifying configuration per location.
- No support for migration from old (
crdb-cli
) Active-Active database method to new Active-Active controller.
- No support for REAADB with participating clusters co-located within the same Kubernetes cluster, except for a single designated local participating cluster.
More info
For more general information about Active-Active, see the Redis Enterprise Software docs.
On this page