helm部署Redis哨兵叢集
阿新 • • 發佈:2019-09-01
介紹
Redis Sentinel叢集是由若干Sentinel節點組成的分散式叢集,可以實現故障發現、故障自動轉移、配置中心和客戶端通知。
如下圖:
Redis Sentinel 故障轉移過程:
從這張圖中我們能看到主節點掛掉了,原先的主從複製也斷開了,客戶端和損壞的主節點也斷開了。從節點被提升為新的主節點,其它從節點開始和新的主節點建立複製關係。客戶端通過新的主節點繼續進行互動。Sentinel 會持續監控已經掛掉了主節點,待它恢復後,叢集會調整為下面這張圖。
一、部署redis哨兵叢集
官方chart地址:https://github.com/helm/charts/tree/master/stable/redis-ha
叢集說明:
By default this chart install 3 pods total:
- one pod containing a redis master and sentinel container (optional prometheus metrics exporter sidecar available)
- two pods each containing a redis slave and sentinel containers (optional prometheus metrics exporter sidecars available)
1)編寫values.yaml(注意我這裡的storageClass是已經搭好的nfs儲存)
image: repository: redis tag: 5.0.5 pullPolicy: IfNotPresent redis: resources: requests: memory: 200Mi cpu: 100m limits: memory: 700Mi sentinel: resources: requests: memory: 200Mi cpu: 100m limits: memory: 200Mi persistentVolume: enabled: true storageClass: "managed-nfs-storage" accessModes: - ReadWriteOnce size: 10Gi
2)安裝
$ helm install -f values.yaml stable/redis-ha --name redis-ha-test --namespace sscp-test
結果:
三、應用通過哨兵連線redis
&n