【问题标题】:What is the need of sentinal when redis cluster is deployed on Kubernetes?redis集群中的哨兵部署在Kubernetes上需要什么?
【发布时间】:2018-06-18 09:56:11
【问题描述】:

哨兵:Docs says

Redis Sentinel 为 Redis 提供高可用性。在实际中 这意味着使用 Sentinel 您可以创建 Redis 部署 它可以在没有人为干预的情况下抵抗某些类型的故障。

我认为我们可以在不部署Sentinal 的情况下实现redis 集群(在K8s 中)的Sentinal 功能?我从 docs 中获取哨兵能力,并从 K8s 中抛出一些反点。

  • Monitoring - Sentinel 不断检查您的主从实例是否按预期工作。
    • 我正在考虑working as expected 表示吊舱向上或向下。当您部署为 Deployment(Replicasets) 甚至 StatefulSets 时,这在 K8s 中是非常原生的
  • Notification - Sentinel 可以通过 API 通知系统管理员和另一台计算机程序,其中一个受监控的 Redis 实例有问题。
    • 我们不能用Operators来做吗?(从redis集群状态等角度来看)
  • Automatic failover - 如果一个 master 没有按预期工作,Sentinel 可以启动一个故障转移过程,其中一个 slave 被提升为 master,其他额外的 slave 被重新配置为使用新的 master,并且使用 Redis 服务器的应用程序通知新的连接时使用的地址。
    • 我正在考虑not working as expected 表示redis pod 已关闭。在这种情况下,如果我们在 Operators/StatefulSet+Headless Service 的帮助下部署 redis。即使 pod 重启,我们也有稳定的主/从网络 ID。
  • Configuration provider - Sentinel 充当客户端服务发现的权威来源:客户端连接到 Sentinel 以请求负责给定服务的当前 Redis 主机的地址。如果发生故障转移,Sentinels 将报告新地址。
    • 正如我在上面所说的,我们有稳定的网络 ID/名称/IP。客户端始终可以指向主节点。

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

更新1

我的目标是避免哨兵并拥有HA。(主要是master故障转移)

【问题讨论】:

标签: redis kubernetes redis-cluster kubernetes-statefulset


【解决方案1】:

不,使用redis-cluster时不需要sentinel。

【讨论】:

    猜你喜欢
    • 2020-03-15
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多