我正试图在Kubernetes上安装redis集群。我的要求之一是,如果kubernetes集群重新启动(由于电源故障等问题),我的redis集群应该具有弹性。
我已经尝试过Kubernetes的状态设置和部署。
在状态集的情况下,在重新启动时,将为Pods分配一组新的IP地址,而且由于redis群集对IP地址工作,因此无法连接到其他redis实例并再次形成群集。
对于具有静态IP对单个redis实例部署的服务,即使我使用静态服务IP地址创建集群时,redis仍然存储Pod的IP,因此在重新引导时无法再次连接到其他redis实例并形成集群。
发布于 2017-07-27 17:11:10
Redis-4.0.0通过增加对集群宣布节点IP和端口的支持解决了这个问题
将cluster-announce-ip设置为通过redis实例kubernetes部署的服务的静态IP。
链接到安装说明:https://github.com/zuxqoj/kubernetes-redis-cluster/blob/master/README-using-statefulset.md
发布于 2017-07-13 02:08:15
您可以使用DNS名称而不是IP地址吗?我认为这是将流量路由到状态集中的单个节点的首选方法:
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-network-id
https://stackoverflow.com/questions/45066637
复制相似问题