网上找了很多弯路,最终找到这篇文章,写得很透彻,照着做成功了。
https://www.jianshu.com/p/a34790c730cf
有空给内容复制一份过来
不知道上面为什么没有成功,但下面这个ok了。
https://www.cnblogs.com/winstom/p/11881882.html
也不是完全ok,最后一步需要创建集群的时候还是不对,最后把那步拆开做,终于成功了。
具体做法:
到pod里(redis-cluster-0),可以从k8s的dashboard里进,也可以用kubectl连接终端。
在k8s的master节点上跑:
echo $(kubectl get pods -l app=redis-cluster -o jsonpath='{range.items[*]}{.status.podIP}:6379 ')
10.18.3.127:6379 10.18.166.184:6379 10.18.166.185:6379 10.18.3.65:6379 10.18.166.186:6379 10.18.3.66:6379 :6379
然后看到下面一堆IP,给最后这个空的:6379删掉。再跟前面的命令合并起来:
redis-cli --cluster create --cluster-replicas 1 10.18.3.127:6379 10.18.166.184:6379 10.18.166.185:6379 10.18.3.65:6379 10.18.166.186:6379 10.18.3.66:6379
就可以了,注意一点,提示的时候,一定要敲 yes,只敲y是不行的。
再根据原文一顿检查,发现没问题,到k8s的dashboard里删掉一个pod,他会自动重启,重启后再检查一遍,一切正常,然后修改一下service增加一个nodePort,外面就也可以访问了。