总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》
一、部署背景
由于业务系统的特殊性,我们需要面向不通的客户安装我们的业务系统,而作为基础组件中的redis针对不同的客户环境需要多次部署哨兵集群,作为一个运维工程师,提升工作效率也是工作中的重要一环。所以我觉得有必要针对 ARM64 CPU架构redis6.2.8容器版哨兵集群编写自动化部署工具。
二、工具介绍
一键部署工具实现功能如下:
1、支持单实例
2、支持单机伪集群部署
3、支持多机分布式集群部署
4、支持redis哨兵集群数据、日志、配置文件持久化
5、支持数据目录、日志目录、端口、密码参数灵活配置
6、支持创建、启动、停止、检测、卸载redis哨兵集群
说明:工具使用非常简单,只需要修改变量文件,一分钟就可以快速帮你部署redis哨兵集群。
三、工具下载
Kylin V10+ARM架构CPU基于docker-compose一键离线部署redis6.2.8之哨兵集群工具(桥接模式)
Kylin V10+ARM架构CPU基于docker-compose一键离线部署redis6.2.8之哨兵集群工具(主机模式)
四、工具使用
说明:
1、这里的桥接模式和主机模式是指docker容器的网络模式,使用桥接网络或者主机网络。这里以多机分布式集群为大家演示redis哨兵集群部署过程。
2、单机伪集群是指在单主机部署redis哨兵集群,分布式集群是指在不同主机上部署redis哨兵集群。
3、桥接模式和主机模式操作步骤完全一样,这里就只介绍桥接模式为例。
1、查看帮助命令
2、准备一键部署工具包
说明:将一键部署工具包分别上传到redis哨兵集群主机节点上。
3、编辑变量文件
说明:以下操作分别在redis哨兵集群节点的部署工具包中修改cluster.conf文件
[root@k8s-master-28 redis-sentinel]# cp cluster.conf.tpl cluster.conf
[root@k8s-master-28 redis-sentinel]# vim cluster.conf
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR="/data"# redis哨兵集群之master节点内网ip地址及映射宿主机端口,根据实际情况填写
export REDIS_MASTER_HOST="172.18.1.28"
export REDIS_MASTER_PORT="7001"# redis哨兵集群之slave1节点内网ip地址及映射宿主机端口,根据实际情况填写
export REDIS_SLAVE_HOST="172.18.1.42"
export REDIS_SLAVE_PORT="7002"# redis哨兵集群之sentinel节点内网ip地址及映射宿主机端口,根据实际情况填写
export REDIS_SENTINEL_HOST="172.18.1.134"
export REDIS_SENTINEL_PORT="7003"# redis哨兵集群密码,根据实际情况填写
export REDIS_PASSWORD="JqLvfsNms9#ekMJc"# 数据存放目录,一般为服务器上存储空间最大分区,默认不修改
export REDIS_DATA_DIR="${BASE_DIR}/basic-data/redis-sentinel"
4、执行部署
说明:根据cluster.conf规划,分别在redis哨兵集群节点上执行部署。
# 1、在k8s-master-28上部署master节点
[root@k8s-master-28 redis-sentinel]# ./op.sh build master# 2、在k8s-master-28上部署slave节点
[root@k8s-master-42 redis-sentinel]# ./op.sh build slave# 3、在k8s-master-28上部署sentinel节点
[root@k8s-master-134 redis-sentinel]# ./op.sh build sentinel
5、检查集群状态
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》