Rancher搭建Redis主從集群


主從復制Redis集群

         

主從容器啟動的時候指定不同的配置文件

        

         

         

#!/bin/bash

#change redis config
ordinal=`env | grep podname | cut -d"=" -f2 | cut -d"-" -f2`
sed -i "s/slaveof.*/slaveof rediscluster-0.rediscluster 6379/g" /etc/redis/redis-slave.conf
if [ $ordinal -eq 0 ]; then
   redis-server /etc/redis/redis-master.conf
else
   redis-server /etc/redis/redis-slave.conf
fi
View Code

        

       

          

            以上步驟實現了主從節點的數據同步,但是當主節點崩潰的時候還不能自動把一個從節點切換成主節點。要實現主從的自動切換就必須另外安裝一個redis哨兵服務

            主節點宕機后從節點自動升級為主節點,但主節點的IP已經變動了,此時應用服務還是拿着原主節點的地址去訪問
           一旦主節點宕機,從節點晉升成主節點,同時需要修改應用方的主節點地址,還需要命令所有從節點去復制新的主節點,整個過程需要人工干預

Redis哨兵集群安裝配置

         在主從復制的基礎上,哨兵實現了自動化的故障恢復

         訪問redis集群的數據都是通過哨兵集群的,哨兵監控整個redis集群

         一旦發現redis集群出現了問題,比如剛剛說的主節點掛了,從節點會頂上來。但是主節點地址變了,這時候應用服務無感知,也不用更改訪問地址,因為哨兵才是和應用服務做交互的

        redis容器最少需要6個,分別是1主2從3哨兵

        pod0為主  pod1和pod2為從 pod3,pod4,pod5為哨兵

        

       

      

#!/bin/bash

#change redis config
ordinal=`env | grep podname | cut -d"=" -f2 | cut -d"-" -f2`
sed -i "s/slaveof.*/slaveof rediscluster-0.rediscluster 6379/g" /etc/redis/redis-slave.conf
if [ $ordinal -eq 0 ];
then
   redis-server /etc/redis/redis-master.conf
elif [ $ordinal -gt 0  -a $ordinal -le 2 ];
then
   redis-server /etc/redis/redis-slave.conf
elif [ $ordinal -gt 2 ];
then
   redis-sentinel /etc/redis/sentinel.conf
fi
shell多條件的復雜判斷

   

Rancher實現一個四層的負載均衡器

       實現給一群pod提供一個對外訪問的入口

       

       

         

         


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM