首先是一些关于redis的介绍和其在K8S上的安装过程:https://www.kubernetes.org.cn/3974.html

1.1部署形态

通过上述地址的教程,可以完成redis 的安装和使用。本文主要是要阐述一些社区版的redis-ha的形态探索。

这是我按照上述教程安装的例子,可以看到,默认是安装1主+2从,这是3节点的配置。同时,每个redis-server和一个redis-sentinel安装在一个节点,也就有了三个redis-sentinel。

1.2主从切换

首先,我们通过kubectl get svc -n default的方式来获取redis的网络情况。(n为namespace,请根据自己情况进行更改)

然后,我们通过redis-cli的方式来访问redis的master实例,并获取Replication的状态。

从上图中,我们可以看出,redis master有两个slave,同时,可以看到他们的ip和pod ip是对应的。(注意,这里我们是在宿主机上,通过master的clusterIP访问的,而非redis pod的)

我们进入到redis的master server的pod中,kill掉redis server进程,因为pod存活条件应该是以redis来判断的(有的是ping 6379这个端口,这里暂时还不知道是怎么判断的。),这个时候因为我们kill掉了redis进程,所以k8s认为这个pod需要重启,所以退出了bash。

注意,这里显示的以slave的方式启动,应该是因为我之前曾经做过类似的操作,这个节点之前是个从节点,是在一个master节点被kill掉之后才提升成为的主节点。sentinel info可以证实这一点。

稍等片刻后,我们可以看到已经完成了主从切换,同时我们依然可以通过之前的redis master的clusterIP来访问redis的master实例。(请观察此图与上面那个图片的role变化,和sentinel中的address变化)

可见,当master的pod因为某种原因down掉了之后,k8s会通过sentinel选择一个新的master节点,并更新master的clusterIP指向新的master的podip,以便对上层应用做成无感切换。下图依然通过master的clusterIP来访问redis的master实例。

今天先到这里,本次主要是讲述了k8s通过helm安装的redis-ha进行主从切换对于业务和K8S的影响,之后会探索redis-ha的master,slave和sentinel的配置。

更多openstack/trove的文章:http://www.cnblogs.com/S-tec-songjian/

此文章属博客园用户S-tec原创作品,受国家《著作权法》保护,未经许可,任何单位及个人不得做营利性使用;若仅做个人学习、交流等非营利性使用,应当指明作者姓名、作品名称,原文地址,并且不得侵犯作者依法享有的其他权利。

最新文章

  1. 流量三角形:并非简单的"统计学"
  2. ASP.NET MVC异常处理
  3. Request.ServerVariables 获取服务器或者客户端信息
  4. C#-WebForm-★ 上传水印图片 ★
  5. textarea文本简单样式编辑
  6. JS正则表达式基础
  7. Print a PeopleSoft Page with JavaScript
  8. 第三百三十三天 how can I 坚持
  9. 【技巧性(+递归运用)】UVa 1596 - Bug Hunt
  10. [YII]将ar查询结果转化成数组
  11. [HTML]img标签属性
  12. Graphics.DrawString 方法
  13. POJ3581:Sequence(后缀数组)
  14. 消息队列 RabbitMQ 与 Spring 整合使用
  15. mktime性能问题调查
  16. Loadrunner 网页诊断图
  17. Fiddler--Composer
  18. EFCore Lazy Loading + Inheritance = 干净的数据表 (二) 【献给处女座的DB First程序猿】
  19. mybatis入门篇:Mybatis高级查询
  20. 20172306 2018-2019-2 《Java程序设计与数据结构》第八周学习总结

热门文章

  1. android:showAsAction
  2. Linux之文件传输
  3. PHP获取远程图片
  4. poj2236 Wireless Network(并查集直接套模板
  5. Lesson 2 Spare that spider
  6. NodeJs koa2实现文件上传
  7. Censoring「USACO 2015 Feb」
  8. PHP 的 SAPI 是个什么东西(转)
  9. D - Recommendations
  10. 使用Ubuntu系统编译安装Zabbix企业级监控系统