Redis学习

Redis学习

Redis学习

  • Redis部署相关记录

Reids.conf配置说明 https://jasonkayzk.github.io/2020/01/17/%E8%BD%AC-redis%E5%B8%B8%E7%94%A8%E9%85%8D%E7%BD%AEredis-conf%E8%AF%B4%E6%98%8E/

集群模式

模式 描述 缺点
单机
哨兵模式Sentinel 配置相对简单,实现了高可用 不支持横向扩展
群集模式 分布式,分槽,支持横向扩展 只能使用DB0,部署复杂

总结,在数据量和性能要求不是特别高的时候,哨兵模式可以满足大部分需求

哨兵模式

K8S环境下使用helm3快速部署哨兵模式Redis集群 https://github.com/helm/charts/tree/master/stable/redis-ha
https://www.cnblogs.com/Dev0ps/p/11259401.html

此种部署模式不适用暴露出来对K8S环境外提供服务,

因为哨兵模式下只有Master节点可以写入,

如果通过NodePort或者Treafik等将Redis暴露出去,当Master节点宕机时,客户端无法知晓新的Master,

客户端需要访问Sentinel端口26379(默认)来获取master服务器的地址, 返回的将是pod的内部地址,外部客户端将无法连接.

如果客户端在K8S集群内部则可通过内部IP连接.

部署
1
helm install -f values.yaml stable/redis-ha --namespace redis --generate-name
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# values.yaml
image:
repository: 172.16.130.72/basis/redis #我这里使用的是redis官方镜像
tag: latest
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: "nfs" # 自己的storageClass
accessModes:
- ReadWriteOnce
size: 10Gi
  • -f values.yaml 指定了一个配置文件,用来替换默认的参数,也可以不指定

  • –namespace redis 命名空间需自己创建

  • –generate-name helm会自动生成一个项目名称

1
2
3
helm -n redis list  #部署完后查看状态和kubectl一样需要带 -n
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
redis-ha-1591230205 redis 1 2020-06-04 08:23:33.325156857 +0800 CST deployed redis-ha-4.3.1 5.0.6
使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 查看部署后的pod
[root@k8s1 redis-cluters]# kubectl get all -n redis
NAME READY STATUS RESTARTS AGE
pod/redis-ha-1591230205-server-0 2/2 Running 0 6h27m
pod/redis-ha-1591230205-server-1 2/2 Running 0 6h26m
pod/redis-ha-1591230205-server-2 2/2 Running 0 6h26m

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/redis-ha-1591230205 ClusterIP None <none> 6379/TCP,26379/TCP 6h27m
service/redis-ha-1591230205-announce-0 ClusterIP 10.96.123.33 <none> 6379/TCP,26379/TCP 6h27m
service/redis-ha-1591230205-announce-1 ClusterIP 10.96.156.241 <none> 6379/TCP,26379/TCP 6h27m
service/redis-ha-1591230205-announce-2 ClusterIP 10.96.122.29 <none> 6379/TCP,26379/TCP 6h27m

NAME READY AGE
statefulset.apps/redis-ha-1591230205-server 3/3 6h27m

 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×