etcd 实战课
唐聪
腾讯云资深工程师,etcd 活跃贡献者
28449 人已学习
新⼈⾸单¥59
登录后,你可以任选3讲全文学习
课程目录
已完结/共 28 讲
开篇词 (1讲)
etcd 实战课
15
15
1.0x
00:00/00:00
登录|注册

24 | 运维:如何构建高可靠的etcd集群运维体系?

chaos-mesh
混沌工程项目
异常场景故障注入
合理的db quota值
Kubernetes容器化部署
高可用部署建议
CRD描述巡检任务
数据一致性巡检
自动化检查项
Learner节点跨地域热备
自动化备份
定时备份
etcdctl命令行备份
可视化面板
告警核心指标
动态配置采集
静态配置采集
etcd提供的metrics
动态服务发现
静态配置
Kubernetes容器编排
容器化部署
虚拟机部署
物理机部署
混沌工程
高可用及自愈
巡检
备份及还原
监控及告警体系
集群组建
集群部署
如何构建高可靠的etcd集群运维体系

该思维导图由 AI 生成,仅供参考

你好,我是唐聪。
在使用 etcd 过程中,我们经常会面临着一系列问题与选择,比如:
etcd 是使用虚拟机还是容器部署,各有什么优缺点?
如何及时发现 etcd 集群隐患项(比如数据不一致)?
如何及时监控及告警 etcd 的潜在隐患(比如 db 大小即将达到配额)?
如何优雅的定时、甚至跨城备份 etcd 数据?
如何模拟磁盘 IO 等异常来复现 Bug、故障?
今天,我就和你聊聊如何解决以上问题。我将通过从 etcd 集群部署、集群组建、监控体系、巡检、备份及还原、高可用、混沌工程等维度,带你了解如何构建一个高可靠的 etcd 集群运维体系。
希望通过这节课,让你对 etcd 集群运维过程中可能会遇到的一系列问题和解决方案有一定的了解,帮助你构建高可靠的 etcd 集群运维体系,助力业务更快、更稳地运行。

整体解决方案

那要如何构建高可靠的 etcd 集群运维体系呢?
我通过下面这个思维脑图给你总结了 etcd 运维体系建设核心要点,它由 etcd 集群部署、成员管理、监控及告警体系、备份及还原、巡检、高可用及自愈、混沌工程等维度组成。

集群部署

要想使用 etcd 集群,我们面对的第一个问题是如何选择合适的方案去部署 etcd 集群。
首先是计算资源的选择,它本质上就是计算资源的交付演进史,分别如下:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文详细介绍了构建高可靠的etcd集群运维体系的方法和建议。从集群部署、监控体系、备份及还原、高可用、巡检和自愈等方面展开讨论。在监控体系方面,作者提到了利用etcd提供的metrics展示集群核心指标和健康度,并介绍了配置Prometheus服务采集etcd集群的metrics路径的方法。备份及还原方面,文章提到了通过etcdctl命令行进行人工备份、定时任务备份、自动化备份以及增加Learner节点实现跨地域热备的方法。此外,文章还介绍了巡检任务的重要性和如何通过CRD的方式描述巡检任务,并通过相应的Operator实现。最后,文章给出了高可用及自愈的小建议,包括将etcd集群做高可用部署、尝试使用Kubernetes容器化部署etcd集群以及设置合理的db quota值和压缩策略。整体而言,本文为读者构建高可靠的etcd集群运维体系提供了全面的指导和建议。文章还介绍了混沌工程的重要性,以及如何通过chaos-mesh实现对etcd集群的故障注入。文章内容丰富,涵盖了集群部署、监控、备份、巡检、高可用等多个方面,对于需要构建etcd集群运维体系的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《etcd 实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(14)

  • 最新
  • 精选
  • 唐聪
    置顶
    最近我们开源了一个etcd一站式治理平台kstone. Kstone 是一个针对 etcd 的全方位运维解决方案,提供集群管理(关联已有集群、创建新集群等)、监控、备份、巡检、数据迁移、数据可视化、智能诊断等一系列特性。 Kstone 将帮助你高效管理etcd集群,显著降低运维成本、及时发现潜在隐患、提升k8s etcd存储的稳定性和用户体验。 https://github.com/tkestack/kstone, 欢迎大家star、fork,并加入我们,推动kstone越来越好。
    2021-12-29
    2
    20
  • ly
    唐老师,在实际的使用中,有一些问题需要咨询您下,还望指点下,多谢老师 1、 etcd auto compact 有推荐的值吗? 2、 etcd backup 是否需要在每个节点上执行?learner 节点 db 文件时候可以当做备份文件来使用? learner 节点后面可以支持 snapshot吗? 3、 etcd 是否需要单独部署,与其他组件分开来? 4、 etcd 巡检有没有开源项目推荐?

    作者回复: 1. 压缩我们使用的是按时间周期模式,一般5分钟 2. 备份我们基于etcd-backup-operator支持了cos对象存储,会定时备份到对象存储上,一般在集群正常,数据差异不大的场景下,在一个节点上备份即可。etcd节点性能若较差,备份若影响到服务性能的,可优先选择follower节点备份,或者通过learner节点来备份,不过目前社区版learner节点并不支持备份snapshot命令,我将提交一个issue和pr来讨论、支持这个。 3.建议敏感场景、大集群最好分开部署,之前我们遇到了多个磁盘io异常case就是因为受节点上其他组件影响。 4.目前没看到合适

    2021-04-06
    3
    11
  • jeffery
    kubeadm部署.k8s版本升级遇到过数据不一致的情况.还好有backup😀大赞 巡检和混搭工程!level有提高了

    作者回复: 哈哈,巡检和混沌工程搞好了的确很好用的,能帮助大家提高工作效率,避免不必要线上问题

    2021-03-18
    5
  • Geek_edd932
    唐老师,我们生产上有3园区,分别是ABC园区,其中AB园区同城。AB园区到C园区有20-30ms的网络延迟。之前集群部署了7个节点,在A部署2节点,在B部署3节点,在C部署2节点。由于网络故障等原因Leader转移到少数派C园区,导致请求延迟将近100ms,从而影响业务。 目前想在AB园区部署节点数量为5的主ETCD集群,其中A园区2个节点,B园区3个节点。在C园区部署节点数量为3的备ETCD集群。通过Maker-mirror工具实现主备ETCD集群数据同步。应用从主ETCD集群存取数据,当主ETCD集群不肯用时,切到备ETCD集群存取数据。由此实现三园区高可用低延迟。 老师,帮忙看看此方案可行性。是否有更好的方案?

    作者回复: 你好,基于你们现状,我建议在c园区部署learner节点更加靠谱点,开源社区点make-mirror还达不到生产环境的要求,存在各种问题,详细参考这篇文章分析。 https://mp.weixin.qq.com/s/_Ee9J7x73gM_GJ6-8MEl2w 如果同城有3个园区,最好将etcd集群部署在3个园区中,2、2、1,这样就可以容忍1个园区故障。

    2021-10-13
    2
    2
  • 不想说
    kubeadm部署堆叠的,每个node有etcd和master的组件的方式可以吗?机器数不是很多

    作者回复: 集群规模小,可以的,event最好独立下,注意其他master组件日志级别,不要打印大量日志

    2021-07-14
    1
  • Geek_edd932
    唐老师,我看了您上次发给我的斗鱼文章,里面提到了腾讯云etcd集群同步工具etcd-syncer,这个工具是开源的吗?

    作者回复: 目前还没开源,后面腾讯云会提供etcd跨城复制能力。

    2021-10-27
  • lidabai
    用kubeadm的方式部署etcd,是先部署kubernetes集群还是先部署etcd?

    作者回复: etcd是k8s集群核心控制组件,部署其他控制组件时先部署etcd,可以参考下k8s这个文档 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/

    2021-08-10
  • Geek_daf51a
    老师我们目前是通过bitnami提供etcd helm来部署的,与推荐等业务使用

    作者回复: 嗯,做好备份工作

    2021-03-18
    3
  • 柠檬🍋
    唐老师,请教个问题,etcd必须部署在ssd上面吗?etcd对磁盘最低的性能要求(支持k8s集群能够健康稳定运行)是多少呢?
    2022-01-05
    1
  • 王山石
    唐老师,您好。我看腾讯云开发了异地容灾工具etcd-syncer,不知道这个开源了没有?
    2023-03-10归属地:北京
收起评论
显示
设置
留言
14
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部