双活数据库
与Kubernetes相关的Active-Active Redis Enterprise数据库内容。
在Kubernetes上,Redis Enterprise Active-Active 数据库提供从不同Kubernetes集群对同一数据集的读写访问。
Active-Active 设置方法
有两种方法可以使用Redis Enterprise for Kubernetes创建Active-Active数据库:
RedisEnterpriseActiveActiveDatabase
(REAADB) 自定义资源适用于 6.4.2 及更高版本。crdb-cli
方法适用于 6.4.2 或更早版本。
我们建议使用RedisEnterpriseActiveActiveDatabase(REAADB)自定义资源创建新的Active-Active数据库。这使您能够通过操作员管理您的Active-Active数据库,并确保您拥有最新的特性和功能。
主动-主动控制器方法
版本6.4.2-6或更高版本完全支持Active-Active控制器。其中一些功能在6.4.2-4和6.4.2-5中作为预览提供。请升级到6.4.2-6以获得完整的一般可用性功能和错误修复。
此设置方法包括以下步骤:
- 收集REC凭证并准备参与的集群。
- 创建
RedisEnterpriseRemoteCluster
(RERC)资源。 - 创建
RedisEnterpriseActiveActiveDatabase
(REAADB) 资源。
crdb-cli
方法
对于6.4.2或更早版本,此Active-Active设置方法包括以下步骤:
- 安装并配置一个入口。
- 收集配置详细信息。
- 将
ActiveActive
字段添加到REC规范中。 - 使用
crdb-cli
工具创建数据库。
Kubernetes 的 Redis Enterprise 主动-主动控制器
Active-Active 数据库为您提供对不同 Kubernetes 集群或命名空间中的 Redis Enterprise 集群 (REC) 的读写访问权限。由 Redis Enterprise 操作员管理的 Active-Active 部署需要两个额外的自定义资源:Redis Enterprise Active-Active 数据库 (REAADB) 和 Redis Enterprise 远程集群 (RERC)。
要为Kubernetes创建具有这些新功能的Active-Active Redis Enterprise部署,首先准备参与的集群,然后创建一个Active-Active数据库。
预览版本
如果您正在使用这些功能的预览版本(操作员版本6.4.2-4或6.4.2-5),您需要通过以下步骤启用Active-Active控制器。每个集群只需执行一次此操作。我们建议使用完全支持的6.4.2-6版本。
-
从redis-enterprise-k8s-docs Github下载最新版本(6.4.2-4)的自定义资源定义(CRDs)。
-
应用新的Redis Enterprise Active-Active数据库(REAADB)和Redis Enterprise远程集群(RERC)的CRDs来安装这些控制器。
kubectl apply -f crds/reaadb_crd.yaml kubectl apply -f crds/rerc_crd.yaml
-
在操作员的ConfigMap上启用Active-Active和远程集群控制器。
kubectl patch cm operator-environment-config --type merge --patch "{\"data\": \ {\"ACTIVE_ACTIVE_DATABASE_CONTROLLER_ENABLED\":\"true\", \ \"REMOTE_CLUSTER_CONTROLLER_ENABLED\":\"true\"}}"
REAADB 自定义资源
Redis Enterprise Active-Active 数据库 (REAADB) 包含每个参与集群的 RERC 链接,并向管理平面提供配置和状态。
有关字段和选项的完整列表,请参阅REAADB API参考。
RERC自定义资源
Redis Enterprise 远程集群 (RERC) 自定义资源包含所有参与集群的配置详细信息。
有关字段和选项的完整列表,请参阅RERC API参考。
限制
- 现有的Redis数据库无法迁移到REAADB。(DOC-3594)
- Admission 不会阻止
shardCount
超过许可证配额的 REAADB。(RED-96301) 解决方法:修复 REAADB 的问题并重新应用。
值对于每个 RERC 资源必须是唯一的。(RED-96302)/ - 仅支持全局数据库选项,不支持为每个位置指定配置。
- 不支持从旧的(
crdb-cli
)Active-Active数据库方法迁移到新的Active-Active控制器。 - 不支持在同一Kubernetes集群中共置的参与集群使用REAADB,除了单个指定的本地参与集群。
更多信息
有关Active-Active的更多一般信息,请参阅Redis Enterprise Software文档。