/redis-k8s

redis集群k8s部署

Primary LanguageShell

Redis集群 K8S部署

1.创建configMap

kubectl create configmap redis-conf --from-file=redis.conf --from-file update-node.sh 

2. 创建ServiceAccount(If Present请忽略)

https://github.com/yjyu1997/rocketmq-k8s/blob/master/nfs-provisioner/nfs-rbac.yaml

kubectl create -f nfs-rbac.yaml

3.创建StorageClass

kubectl create -f redis-nfs-class.yaml

4.创建Nfs-Provisioner

kubectl create -f redis-nfs-provisioner.yaml

5.创建StaticfulSet

kubectl create -f redis.yml

6.集群部署

1)新建一次性ubuntu容器

kubectl run -it ubuntu --image=ubuntu --restart=Never /bin/bash

2)使用redis-trib进行集群部署

cat > /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
EOF
apt-get update
apt-get install -y vim wget python2.7 python-pip redis-tools dnsutils
pip install redis-trib

3)创建集群

redis-trib.py create \
  `dig +short redis-app-0.redis-service.default.svc.cluster.local`:6379 \
  `dig +short redis-app-1.redis-service.default.svc.cluster.local`:6379 \
  `dig +short redis-app-2.redis-service.default.svc.cluster.local`:6379

4)为每一个主节点添加从节点

redis-trib.py replicate \
  --master-addr `dig +short redis-app-0.redis-service.default.svc.cluster.local`:6379 \
  --slave-addr `dig +short redis-app-3.redis-service.default.svc.cluster.local`:6379

redis-trib.py replicate \
  --master-addr `dig +short redis-app-1.redis-service.default.svc.cluster.local`:6379 \
  --slave-addr `dig +short redis-app-4.redis-service.default.svc.cluster.local`:6379

redis-trib.py replicate \
  --master-addr `dig +short redis-app-2.redis-service.default.svc.cluster.local`:6379 \
  --slave-addr `dig +short redis-app-5.redis-service.default.svc.cluster.local`:6379

对外暴露服务 详见集群代理模式的部署