我用statefulset来起redis,这样可以固定redis的dns和hostname,一个pod中有redis和sentinel两个容器,组成1master和3slave,slave和sentinel的配置文件中关于master地址就用第一个pod的dns解决。初始化时,没问题,一切正常。但是当我发生故障转义,去重启pod就有问题了,sentinel中关于它slave和sentinel的信息还在,一直认为它只是下线了,而重启后的pod的hostname和dns都没变,但是ip还是变了,这样虽然还是加入原本主从,但是被认为是新成员(redis和sentinel),这只是slave重启。如果是master重启的话,推选新master可以,但是重启后的旧master加不进主从了,因为配置文件中,它就是master,而且因为ip变化,其他sentinel就拉不了这个重生的redis节点进去主从中。它自成一体
需要修改IPAM,可以考虑参考Terway https://github.com/AliyunContainerService/terway
支持StatefulSet环境Pod的IP sticky
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。