redis cluster Waiting for the cluster to join

redis 创建集群的时候卡在 Waiting for the cluster to join

如果你没用docker/k8s 那么肯定是16379端口的防火墙没开

如果你用了docker没用k8s,是因为16379 的端口没映射

如果你用的k8s+flanneld ,那恭喜你日了狗了,不可能成功。

因为redis 在meet 的时候

阶段1:  node 1 ack -> node2:16379   #这时候node2会看到node1的网关IP与自身链接

于是

阶段2: node2 ack-> node1(网关IP):16379  会被一直RST 

我个人认为这是一种设计缺陷,阶段1,node1应该在数据包里面声明自己的IP,然后阶段2的时候node2 用这个声明的IP 与它相连,而不是直接取已经建立链接的哪个IP。因为node2不知道node1在nat后面

推荐阅读更多精彩内容