24 | 运维:如何构建高可靠的etcd集群运维体系?
该思维导图由 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-29220
- 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-06311 - jefferykubeadm部署.k8s版本升级遇到过数据不一致的情况.还好有backup😀大赞 巡检和混搭工程!level有提高了
作者回复: 哈哈,巡检和混沌工程搞好了的确很好用的,能帮助大家提高工作效率,避免不必要线上问题
2021-03-185 - 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-1322 - 不想说kubeadm部署堆叠的,每个node有etcd和master的组件的方式可以吗?机器数不是很多
作者回复: 集群规模小,可以的,event最好独立下,注意其他master组件日志级别,不要打印大量日志
2021-07-141 - 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-183 - 柠檬🍋唐老师,请教个问题,etcd必须部署在ssd上面吗?etcd对磁盘最低的性能要求(支持k8s集群能够健康稳定运行)是多少呢?2022-01-051
- 王山石唐老师,您好。我看腾讯云开发了异地容灾工具etcd-syncer,不知道这个开源了没有?2023-03-10归属地:北京