etcd实战课
唐聪
腾讯云资深工程师,etcd活跃贡献者
立即订阅
2250 人已学习
课程目录
已更新 23 讲 / 共 27 讲
0/3登录后,你可以任选3讲全文学习。
开篇词 (1讲)
开篇词|为什么你要学习etcd?
免费
基础篇 (11讲)
01 | etcd的前世今生:为什么Kubernetes使用etcd?
02 | 基础架构:etcd一个读请求是如何执行的?
03 | 基础架构:etcd一个写请求是如何执行的?
04 | Raft协议:etcd如何实现高可用、数据强一致的?
05 | 鉴权:如何保护你的数据安全?
06 | 租约:如何检测你的客户端存活?
07 | MVCC:如何实现多版本并发控制?
08 | Watch:如何高效获取数据变化通知?
09 | 事务:如何安全地实现多key操作?
10 | boltdb:如何持久化存储你的key-value数据?
11 | 压缩:如何回收旧版本数据?
实践篇 (10讲)
12 | 一致性:为什么基于Raft实现的etcd还会出现数据不一致?
13 | db大小:为什么etcd社区建议db大小不超过8G?
14 | 延时:为什么你的etcd请求会出现超时?
15 | 内存:为什么你的etcd内存占用那么高?
16 | 性能及稳定性(上):如何优化及扩展etcd性能?
17 | 性能及稳定性(下):如何优化及扩展etcd性能?
18 | 实战:如何基于Raft从0到1构建一个支持多存储引擎分布式KV服务?
19 | Kubernetes基础应用:创建一个Pod背后etcd发生了什么?
20 | Kubernetes高级应用:如何优化业务场景使etcd能支撑上万节点集群?
21 | 为什么基于etcd实现分布式锁比Redis锁更安全?
特别放送 (1讲)
特别放送 | 成员变更:为什么集群看起来正常,移除节点却会失败呢?
etcd实战课
15
15
1.0x
00:00/00:00
登录|注册

特别放送 | 成员变更:为什么集群看起来正常,移除节点却会失败呢?

王超凡 2021-03-08
你好,我是王超凡,etcd 项目贡献者,腾讯高级工程师。目前我主要负责腾讯公有云大规模 Kubernetes 集群管理和 etcd 集群管理。
受唐聪邀请,我将给你分享一个我前阵子遇到的有趣的故障案例,并通过这个案例来给你介绍下 etcd 的成员变更原理。
在 etcd 的日常运营过程中,大部分同学接触到最多的运维操作就是集群成员变更操作,无论是节点出现性能瓶颈需要扩容,还是节点故障需要替换,亦或是需要从备份来恢复集群,都离不开成员变更。
然而如果你对 etcd 不是非常了解,在变更时未遵循一定的规范,那么很容易在成员变更时出现问题,导致集群恢复时间过长,进而造成业务受到影响。今天这节课,我们就从一次诡异的故障说起,来和你聊聊 etcd 成员变更的实现和演进,看看 etcd 是如何实现动态成员变更的。希望通过这节课,帮助你搞懂 etcd 集群成员管理的原理,安全的变更线上集群成员,从容的应对与集群成员管理相关的各类问题。

从一次诡异的故障说起

首先让我们来看一个实际生产环境中遇到的案例。
某天我收到了一个小伙伴的紧急求助,有一个 3 节点集群,其中一个节点发生了故障后,由于不规范变更,没有先将节点剔除集群,而是直接删除了数据目录,然后重启了节点。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《etcd实战课》,如需阅读全部文章,
请订阅文章所属专栏
立即订阅
登录 后留言

精选留言(3)

  • 唐聪
    感谢超凡为我们带来7000多字的干货分享,通过一个诡异的案例,为大家娓娓道来这背后的故事,希望能帮助大家深入的理解成员管理,在线上安全的变更集群。专栏再过1周多,计划的内容定时更新就要结束了,但是与大家一块学习、精进却才开始,未来我将不定期输出加餐与特别放松文章,分享有趣的案例,解答大家的疑问,谢谢大家的订阅与支持。
    2021-03-08
    7
  • Simon
    这文章确实够干, 点赞~
    要是能在关键流程补充一些源码就更完美了
    毕竟talk is cheap, show me the code

    作者回复: 嗯,专栏特色就是实践加干货总结,全网唯一,文章出于源码,但又不止于源码,给大家带来不一样的收获。源码剖析可能部分同学可能不喜欢,所以我们希望以故障为线索,结合流程图,为大家重点介绍下背后的理论和实践中的注意问题。后面看大家需求和我们自身时间,针对etcd源码单独加餐比较合适。

    2021-03-08
    6
  • jeffery
    感谢老师的分享!让我们收获很多!也理解了成员变更带来的危害以及类似的case怎么有惊无险的去处理.谢谢老师的分享

    作者回复: 大家有收获就好,每次看到一出新文章,大家给予的评价,让我和超凡晚上熬夜定稿、深度review、录音都不困了,满满的动力,也希望大家帮忙扩散宣传下

    2021-03-08
    5
收起评论
3
返回
顶部