Redis Sentinel Operator容器化技术解读.docx
《Redis Sentinel Operator容器化技术解读.docx》由会员分享,可在线阅读,更多相关《Redis Sentinel Operator容器化技术解读.docx(8页珍藏版)》请在第一文库网上搜索。
1、RedisSentine1Operator容器化解读【导读】对于ReCIiSC1USter的容器化,民生银行已在ReeIiSPaaS中做了先期的探索和使用。在RediSPaaS中实现了RediS哨兵模式、集群模式的容器化部署,结合IPAAS使得项目可依据自身需要自助申请并实时交付。之前已介绍过RediSC1USterOPerator容器化方案(点击可阅读),本文介绍RedisSentine1Operator容器化。先前介绍过RediSC1usterOPeratOr容器化方案,本次介绍ReCIiSSentine1OPeratOr容器化ORedisSentine1容器化与RediSC1USter有
2、相同的地方,如也需要解决节点分布、节点快重启等问题,与此同时,RediSSe11tine1包含两类不同角色的节点并且该种模式不涉及数据分片的事情,使得RediSSentine1容器化在部署架构、服务暴露、异常处理等方面有着其特殊性。节点分布与节点容器重启问题节点分布RedisSentine1容器化部署同RedisC1uster的一样,也需要将不同Redis节点和Sentine1节点分别置于不同的主机上,防止由于主机故障导致主从或者sentine1功能失效。这一点同样使用Kubernets的Pod反亲和性来配置:IPreferrecIDUringSchedu1ing1gnoredDuringEx
3、ecution:IIabe1Se1ector:Imatchckci.I()p()1ORyKcy:kubcrnotcs.i()/hostnani。Redis容器快重启同RedisC1USter一样,RedisSentine1模式中,Redismaster节点容器一旦停止运行很快就会被kubernetes重新拉起,这个时间不足以触发Sentine1进行故障转移,可能会造成RediS数据丢失。会避免这个问题,RedisSentine1容器化中继续采用了容器启动和进程启动相分离的方法,即默认容器启动时不启动Redis/Sentine1进程,由operator判断在合适的时机启动Redis/Sentin
4、e1进程。对于新的Redis容器:Case1:MaSter节点存在,则启动容器RediS进程加入集群Case2:MaSter节点不存在,但SIaVe节点存在o Case2-1:Sentine1可以正常工作,则等待Sei1tine1启动故障转移提升S1ave为Master,然后依Case1操作o Case2-2:Sentine1不能正常工作,提升一个SIaVe节点为主节点,调整Sentine1的主节点指向,然后依CaSe1操作 Case3:S1aVe和MaSter节点均不存在,则直接启动ReeIiS进程,同时调整Sentine1指向的master节点为本节点对于新Sentine1容器: Case
5、1:如果RediSMaSter存在,启动Sei1tinei进程并指向MaSter Case2:如果RediSMaSter不存在,依新RediS容器启动场景处理,等待MaSter节点存在后,依CaSe1处理RedisSentine1OperatorRedisSentine1容器化部署架构在RediSSentine1架构中,Sentinei的功能主要有两个:1.监控RediS节点,发现RediS故障并进行fai1over;2.为客户端提供RediS最新的主从拓扑信息。换而言之,SentineI对于RediS数据处理并不是必须的,基于此,在设计RediSSentine1OPeratOr架构的时候可以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Redis Sentinel Operator容器化技术解读 Operator 容器 技术 解读