pv创建
先在nfs服务器上创建5个目录
# mkdir /data/k8sdata/shuaige/redis{0..5}
创建pv
# vim redis-cluster-pv.yaml
# kubectl apply -f redis-cluster-pv.yaml
# kubectl get pv -n shuaige
创建configmap
# kubectl create configmap redis-conf --from-file=redis.conf -n shuaige
创建pvc和redis-cluster pod
# kubectl apply -f redis.yaml
# kubectl get pvc -n shuaige
# kubectl get pod -n shuaige
在shuaige namespace创建一个临时ubuntu容器用于初始化redis-cluster
# kubectl run -it ubuntu1804 --image=ubuntu:18.04 --restart=Never -n shuaige bash
在ubuntu中:
# apt update
# apt install python2.7 python-pip redis-tools dnsutils iputils-ping net-tools
# pip install --upgrade pip
# pip install redis-trib==0.5.1
创建集群
# redis-trib.py create \
`dig +short redis-0.redis.shuaige.svc.shuai.local`:6379 \
`dig +short redis-1.redis.shuaige.svc.shuai.local`:6379 \
`dig +short redis-2.redis.shuaige.svc.shuai.local`:6379
将redis-3加入redis-0
# redis-trib.py replicate --master-addr `dig +short redis-0.redis.shuaige.svc.shuai.local`:6379 --slave-addr `dig +short redis-3.redis.shuaige.svc.shuai.local`:6379
将redis-4加入redis-1
# redis-trib.py replicate --master-addr `dig +short redis-1.redis.shuaige.svc.shuai.local`:6379 --slave-addr `dig +short redis-4.redis.shuaige.svc.shuai.local`:6379
将redis-5 加入redis-2
# redis-trib.py replicate --master-addr `dig +short redis-2.redis.shuaige.svc.shuai.local`:6379 --slave-addr `dig +short redis-5.redis.shuaige.svc.shuai.local`:6379
进入redis的pod
# redis-cli
# CLUSTER nodes #显示主从节点
将redis-0节点删除,然后redis-3会从slave节点变成主节点