kubernetes上的高可用冗余redis群集

plicqrtu  于 2021-06-10  发布在  Redis
关注(0)|答案(1)|浏览(455)

目标是使用kubernetes为nodejs客户机创建一个高可用的redis集群。我已经创建了如下的体系结构:创建了一个kmaster的kubernetes集群,其中包含3个节点(从节点)。然后我创建了statefulset和持久卷(每个pod有6个)。然后在每个节点上创建redis pods 2(3个主节点,各自主节点的3个副本)。
接下来我需要了解redis sentinel的角色,它如何管理节点间redis集群pod的监视、伸缩和ha。我知道sentinel应该在每个节点上完成它的工作,但是这里的正确架构应该是什么呢?
p、 我已经建立了一个本地设置,但最终这将在azure上进行,所以任何建议w.r.到az也是欢迎的。
谢谢!

b5buobof

b5buobof1#

从azure的Angular 来看,您有两个选项,如果您非常特定于选项2,但正在寻找sentinel体系结构,那么在iaas(linux-vm-scale-set)和paas服务中都有业务连续性和高可用性选项,它们超越了sentinel组件。
azure cache for redis(paas),您可以在其中选择和部署所需的服务层(ha需要的高级层)并连接客户端应用程序。请参阅:azure cache for redis常见问题解答和缓存最佳实践。
第二种选择是部署一个解决方案(如您所详述的)作为从azurevms构建的iaas解决方案。有许多redis linux vm映像可以从azure市场中选择,或者可以选择从本地解决方案创建linux vm os映像并将其迁移到azure。sentinel组件在每个服务器上都是启用的(master、slavea和slaveb,…)。还有网络和其他方面的考虑。要从头开始构建系统,请参阅:如何在centos 8中设置redis复制(禁用群集模式)第1部分,以及如何在centos 8中使用sentinel设置redis以实现高可用性第2部分

相关问题