5-1 基于StatefulSet运行Redis Cluster

前言

Redis Cluster集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。
Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。

本文将在Kubernetes环境中使用PV/PVC,基于StatefulSet控制器创建并运行Redis Cluster。



创建PV

NFS服务器

先在NFS服务器192.168.100.155创建目录并共享:

# 创建6个共享目录,属主属组选nfsnobody。
mkdir -p /data/k8sdata/myserver/redis{
   0..5}
chown nfsnobody.nfsnobody /data/k8sdata/myserver/redis{
   0..5}

# 提供共享服务,可共享的IP段为物理机IP,rw可读写,all_squash远程用户连到nfs服务器都压榨成nfsnobody用户。
cat << EOF >> /etc/exports
/data/k8sdata/myserver/redis0 192.168.100.0/24(rw,all_squash)
/data/k8sdata/myserver/redis1 192.168.100.0/24(rw,all_squash)
/data/k8sdata/myserver/redis2 192.168.100.0/24(rw,all_squash)
/data/k8sdata/myserver/redis3 192.168.100.0/24(rw,all_squash)
/data/k8sdata/myserver/redis4 192.168.100.0/24(rw,all_squash)
/data/k8sdata/myserver/redis5 192.168.100.0/24(rw,all_squash)
EOF

# 重新加载,查看挂载情况
exportfs -r
exportfs -v

# nfs涉及端口较多,测试环境可关闭防火墙
systemctl disable --now firewalld

生成PV

redis集群需创建3主3从6个pod,对应需创建6个pv:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: redis-cluster-pv0
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  nfs:
    server: 192.168.100.155
    path: /data/k8sdata/myserver/redis0 

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: redis-cluster-pv1
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  nfs:
    server: 192.168.100.155
    path: /data/k8sdata/myserver/redis1 

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: redis-cluster-pv2
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  nfs:
    server: 192.168.100.155
    path: /data/k8sdata/myserver/redis2 

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: redis-cluster-pv3
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  nfs:
    server: 192.168.100.155
    path: /data/k8sdata/myserver/redis3 

---
apiVersion: v1
kind
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值