在Kubernetes上部署redis群集时,对sentinal的需求是什么?

时间:2018-06-18 09:56:12

标签: redis kubernetes redis-cluster kubernetes-statefulset

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。即使pod重启,我们也有稳定的主/从网络ID。
  • Configuration provider - Sentinel充当客户端服务发现的权限来源:客户端连接到Sentinels,以便询问负责给定服务的当前Redis主服务器的地址。如果发生故障转移,Sentinels将报告新地址。
    • 正如我上面所说,我们有稳定的网络ID /名称/ IP。客户总是可以指向主人。

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

UPDATE1

我的目标是避免发送邮件并拥有HA。(主要是master故障转移)

1 个答案:

答案 0 :(得分:0)

不,使用redis-cluster时不需要哨兵。