Sentinal:Docs says

Redis Sentinel为Redis提供高可用性 . 实际上,这意味着使用Sentinel可以创建一个Redis部署,可以在没有人为干预的情况下抵御某些类型的故障 .

我认为我们可以在不部署 Sentinal 的情况下为redis集群(在K8中)实现 Sentinal 功能?我正在从文档中获取一些能力并从K8中抛出一些反击点 .

  • Monitoring - Sentinel会不断检查您的主实例和从属实例是否按预期工作 .

  • 我正在考虑 working as expected 意味着上升或下降 . 当您部署为 Deployment (Replicasets)甚至 StatefulSets 时,这在K8中非常原生

  • Notification - Sentinel可以通过API通知系统管理员,另一台计算机程序,其中一个受监控的Redis实例出现问题 .

  • 我们不能用 Operators 吗?(从redis集群状态等角度来看)

  • Automatic failover - 如果主服务器未按预期工作,Sentinel可以启动故障转移过程,其中从服务器升级为主服务器,其他其他服务器重新配置为使用新主服务器,并且使用Redis服务器的应用程序通知新地址连接时使用

  • 我在考虑 not working as expected 意味着redis pod已关闭 . 在这种情况下,如果我们在 Operators / StatefulSet Headless Service 的帮助下部署redis . 我们有主机/从机的稳定网络ID,甚至pod重新启动 .

  • Configuration provider - Sentinel充当客户端服务发现的权限来源:客户端连接到Sentinels以询问负责给定服务的当前Redis主服务器的地址 . 如果发生故障转移,Sentinels将报告新地址 .

  • 正如我在上面所说,我们有稳定的网络ID /名称/ IP . 客户总是可以指向主人 .

我是redis的新手 . 如有任何问题请指导我 . 谢谢 .

Update1

我的目标是避免使用sendinal并拥有HA . (主要是 master 故障转移)