helm部署redis主从
2021-08-05 本文已影响0人
肖金光xjg
说明及准备
本次用stable/redis安装,StatefulSet方式运行,默认是主从模式,1主2从
挂在pv是设置为:
- size: 8G
- accessModes: ReadWriteOnce
每个POD需要挂在独立的PV,所以需要建3个PV,PV建的时候,注意参数,选择单主机读写,大于等于8G容量
如果有多个命名空间需要部署redis,pv,pvc尽力建一批使用一批。
部署
NFS
mkdir /home/nfs/jin-redis && chown 1001 /home/nfs/jin-redis
mkdir /home/nfs/jin-redis-slave-0 && chown 1001 /home/nfs/jin-redis-slave-0
redis默认运行的用户UID为:1001
建pv,pvc
apiVersion: v1
kind: PersistentVolume
metadata:
name: jin-pv-redis
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 8Gi
nfs:
path: /home/nfs/jin-redis
server: 172.16.20.170
persistentVolumeReclaimPolicy: Retain
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: jin-redis-slave-0
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 8Gi
nfs:
path: /home/nfs/jin-redis-slave-0
server: 172.16.20.170
persistentVolumeReclaimPolicy: Retain
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jin-redis
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
volumeMode: Filesystem
volumeName: jin-pv-redis
helm安装
配置helm源
# helm3的稳定仓库
helm repo add stable https://charts.helm.sh/stable
# 阿里云hub
helm repo add apphub https://apphub.aliyuncs.com/
# 指定repo查
(base) [baike:/tmp]$ helm search repo stable/redis
NAME CHART VERSION APP VERSION DESCRIPTION
stable/redis 10.5.7 5.0.7 DEPRECATED Open source, advanced key-value stor...
stable/redis-ha 4.4.6 5.0.6 DEPRECATED - Highly available Kubernetes implem...
# 下载char
(base) [baike:/tmp]$ ll redis-10.5.7.tgz
-rw-r--r-- 1 baike staff 31909 8 4 09:15 redis-10.5.7.tgz
# 指定主PVC,和redis密码,应用名称,命名空间参数安装
helm install jin-redis \
--set persistence.existingClaim=jin-redis \
--set password="Test#123Jin" \
--set redisPort=6379 \
--set master.service.port=6379 \
--set slave.service.port=6379 \
--set cluster.slaveCount=1 \
--set image.registry=hub.jin.cn \
--set image.repository=jin/redis \
stable/redis --namespace=default
安装参数说明
helm install jin-redis \ #应用名称
--set persistence.existingClaim=jin-redis \ #指定redis master 挂在的pvc名称,需提前建好
--set password="Test#123Jin" \ #密码
--set redisPort=6379 \ #redis master/slave 端口
--set master.service.port=6379 \ # redis master svc端口
--set slave.service.port=6379 \ # redis slave svc端口
--set cluster.slaveCount=1 \ # Redis slave POD数量,默认为2,每个实例都需要挂载独立的pvc
--set image.registry=hub.jin.cn \ #指定镜像仓库地址
--set image.repository=jin/redis \ #指定镜像名称
stable/redis --namespace=default #指定命名空间