redis-operator用来帮助运维人员在kubernetes快速部署各种模式的redis集群。目前支持集群模式和哨兵模式。
基于kubernetes平台和operator技术,可以最大程度保证redis的高可用性。
部署operator
# 安装crd
kubectl apply -f chart/redis-operator/redis-crd.json
# 安装operator
helm install redis-operator chart/redis-operator
部署redis
# 使用kubectl安装
kubectl apply -f example/redis-cluster.yaml
# 使用helm安装
helm install redis chart/redis
验证
保证pod全部处于running状态
# kubectl get pod
NAME READY STATUS RESTARTS AGE
redis-0 2/2 Running 0 6m42s
redis-1 2/2 Running 0 6m41s
redis-2 2/2 Running 0 6m40s
redis-3 2/2 Running 0 6m35s
redis-4 2/2 Running 0 6m41s
redis-5 2/2 Running 0 6m37s
redis-operator-695898677d-xcjl8 1/1 Running 0 6m47s
phase为Running表示redis cluster处于正常运行状态
kubectl get rediscluster redis -o yaml |grep phase
phase: Running
cluster模式在原生cluster基础上进行了改造
哨兵模式在原生redis哨兵上做了一定的扩展。
- redis在创建之初会自动化配置主从集群,包括master和slave角色
- 上述步骤完成后,启动哨兵开始监听redis master和slave,基于哨兵原生的能力对master进行保障。
- 用户可以基于哨兵的入口服务访问redis;同时也可以通过redis 主从的读写分离服务访问redis
设置镜像仓库
export registry="192.168.56.3:30088/middleware"
export tag=v1.5.6
编译源码并打包镜像
cd redis-operator
make docker-build IMG=$registry/redis-operator:$tag
make docker-push IMG=$registry/redis-operator:$tag
打包其他镜像
cd build
make docker-build
make docker-push
更多文档,请参考 详细文档