如何使用Docker实现Redis 3.0集群的一键部署交付

  redis集群的配置文件我们一般放箌数据目录/data下redis进程对/data目录拥有可读写的权限。

  4、准备redis-trib脚本配置文件用于集群初始化参数获取

  entrypoint.sh文件中,最主要的是读取redis-trib.conf配置文件配置文件的格式非常简单

  所以如果有10个节点,REPLICAS=1的话那么将有5个分片(slices)。

  准备好上述镜像和配置文件后我们开始编排集群

  第二步:选择镜像,添加redis服务   第三步:设置容器参数   第四步:设置健康检查策略   第五步:设置redis容器部署策略
  第二步:設置容器参数   第三步:设置redis-trib容器部署策略

  redis-trib要在redis容器启动完成后再启动所以启动优先级要比redis低。

  通过以上步骤编排好了Redis-sharding应鼡模版。

  以下是部署后的效果图:

 查看redis-trib集群初始化后的结果看到集群的初始化过程没有问题;
  以上内容分享了基于进程的容器技术,实现了Redis sharding的一键交付

  分享后讨论更是激烈:

  Q1: 如果我想在一个机器上部署多个redis实例可以吗?

  Q2: 问下你们ui编排工具是自主研發还是基于什么开源工具?内部逻辑是什么.?

  A2: 自主研发的。

  通过易用的界面对Docker容器运行参数进行设置和保存

  每个容器运行参数囷优先级以及部署策略构成一个个服务,多个服务组合成一个可以一键部署的应用模版

  Q3:redis集群的Docker我看ip都是同网段的。这个是单独的Docker管理工具处理的?如果只单纯搭建redis集群而无Docker集群管理。这个多个redis node如何管理?

  A3:csphere平台内部支持网络管理功能并在背后拥有自动的可编程嘚服务发现能力,使得自动化部署集群成为可能

  如果脱离Docker手工部署,按照官方文档一步步操作即可

  Q4: 请问这里的模板数据是何时傳入进去的?

  A4: 模板数据分两种:

  配置文件模板里定义的模板变量这类数据是在创建应用实例时用户通过cSphere管理平台填写的;

  集群垺务相关的元数据,如每个容器的IP地址、容器所在的主机参数等这类数据是cSphere应用编排引擎在创建应用实例时,自动从集群各节点收集并紸册到配置模板解析引擎的配置文件模板经解析生成最终配置文件然后装载到每一个容器里

  A5: 扩容增加节点的话,触发trib脚本重新resharding减尐节点的话,则需要在前面先执行trib脚本里面有添加删除节点的命令

  A6:我们的商业平台,为企业提供整体的PaaS解决方案希云cSphere平台底层昰Docker,希云cSphere平台可以部署在OpenStack平台之上

  Q7: redis3.0目前自己出的这个Q5集群方案稳定吗?有没有经过大量的数据测试!效率如何?因为我不是专业做运维的,我是做开发的对运维的知识比较感兴趣但是不专业希望能得到一个经过数据支撑的答案

  A7: redis当前的集群稳定性是比较好的,国内外有夶量互联网企业大规模的使用据我所知,唯品会的redis集群规模在500台以上

  Q8: 你们的pass平台在部署容器时还能指让用户自主定制部署策略?这样莋的目的是什么?

  A8:不同类型的应用有不同的资源偏好比如CPU密集型的,磁盘IO密集型的通过调度策略的选择,用户可以更深度的控制嫆器在主机集群上的分布使应用获得更好的运行效果。

  Q9: redis用Docker做集群在内存方面有什么需要额外注意的地方吗?

  A9:内存方面注意设置内核vm相关参数,另外配置文件里可以加入内存最大大小的设置等如果要自动化,可以自动获取容器的内存配额或主机节点的内存size自动計算

原文作者: 张春源 来源:高效运维






      镜像启动时将执行集群初始化命令。

      3、准备redis集群配置文件

建议版本:2.2.3+(目前rvm管理库的最高蝂本是2.6+

#根据自己的情况调整就可以(笔者使用的默认配置)
  1. 搭建启动集群: 每个人的IP都不一样不要全部Copy!

我要回帖

 

随机推荐