Redis集群在kubernetes上

时间:2017-07-12 20:06:38

标签: redis kubernetes redis-cluster

我正在尝试在Kubernetes上设置redis群集。我的一个要求是我的redis集群应该在kubernetes集群重启时具有弹性(由于电源故障等问题)。

我尝试过Kubernetes状态和部署。
在状态设置的情况下,重新启动时会为Pod分配一组新的IP地址,并且由于redis群集在IP地址上工作,因此无法再连接到其他redis实例和表单群集。
如果通过单个redis实例部署使用静态IP的服务,即使我使用静态服务IP地址创建集群,redis也会再次存储Pod的IP,因此在重新启动时它无法连接到其他redis实例和表单集群试。

My redis-cluster statefulset config
My redis-cluster deployment config

2 个答案:

答案 0 :(得分:3)

int divisor = _random.Next(150, 200); int step = 1 + message.Length / divisor; 通过添加对cluster announce node IP and Port

的支持解决了这个问题

Redis-4.0.0设置为redis实例kubernetes部署的静态服务IP。

链接到设置说明:https://github.com/zuxqoj/kubernetes-redis-cluster/blob/master/README-using-statefulset.md

答案 1 :(得分:0)

您是否可以使用DNS名称而不是IP地址?我认为这是将流量路由到状态集中的各个节点的首选方式:

https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-network-id

相关问题