腾讯云推出云原生etcd服务

2020-09-17 12:10:12 浏览数 (1)

背景

腾讯云容器服务TKE从2016年提供服务至今,已服务成千上万企业构建其容器化平台, 一方面,腾讯云容器团队在提供容器服务时积累并完善了一套万级K8s集群的etcd管理平台,用于支撑腾讯云容器产品稳定运行,该平台同时也支撑了腾讯内部业务如云监控,api网关,欢乐游戏等,另一方面,我们积极参与etcd社区,将我们大规模实践过程中遇到的问题和解决方案,反馈和贡献给社区,是社区2020年最活跃的贡献团队之一。

容器团队在多次客户访谈中了解到,很多客户不想自己运维etcd,期望能够使用腾讯云容器服务内部etcd平台的能力和经验。因此我们推出了腾讯云原生etcd服务。

腾讯云原生etcd服务介绍

etcd是什么

etcd是一个分布式、高可靠的键值存储,可以容忍集群中部分节点故障,只要有一半以上节点存活即可对外提供服务。主要用于元数据存储,服务发现,分布式选举等场景,如Kubernetes,CoreDNS等。基于etcd提供的Watch机制,可以很方便的实现发布订阅等功能。

为什么要推出etcd服务

容器团队在拜访客户时了解到,很多客户由于对etcd了解程度不够,导致在实际使用和运维过程中出现过很多问题。例如有些客户使用了v3的api写数据却使用了v2的api进行数据备份,还有些客户因为集群恢复时参数指定的有问题导致集群无法正常重建,从而影响业务恢复,更有甚者,因为自动压缩参数配置的有问题而频繁的使用defrag进行碎片整理,还有很多业务因为使用姿势的问题导致etcd性能严重下降,频繁leader选举,间接造成业务不可用,数据丢失等。

此外,用户自建etcd往往还需要自己再维护一套etcd监控告警系统和备份恢复机制,增加了运维负担,自建etcd集群容易疏忽监控和备份机制,往往出了问题之后才后知后觉。虽然目前业界已经有了很多基于K8s的etcd管理方案,一定程度上减轻了运维负担,如etcd-operator(目前已不再维护),基于helm部署的etcd等,但这些项目在可用性和易用性上并没有保障,出了问题之后往往更难恢复。

腾讯云容器团队目前线上运维了上万套K8s集群,后端使用了上千套etcd集群作为支撑存储,在保障etcd稳定运营的过程中,我们遇到过很多问题,也因此积累了大量的实践经验,并孵化出了一套自动化etcd管理平台:包含完善的监控告警,备份恢复和容灾机制,强大的巡检能力能够帮助我们进行热点数据分析,混沌工程帮助我们主动发现一些隐藏的bug,可控的变更和升级机制能够让我们针对问题版本进行快速升级。

目前我们已经在腾讯内部为多个业务团队提供etcd服务,保障业务快速上线和稳定运营。为服务更多客户,我们推出了云原生etcd产品服务,将我们内部的能力提供出来,衷心期望能够帮您解决etcd的运维负担。

腾讯云原生etcd服务介绍

腾讯云容器团队提供的云原生etcd服务可以帮助您:

  • 一键部署经腾讯内部大规模验证的高可靠高性能etcd集群,支持跨可用区容灾能力、专业团队为您提供最优化的性能配置。
  • 集成云原生监控能力,提供完善的监控和告警机制
  • 提供etcd日常运维管理能力:
    • 备份恢复:支持自动备份和手动备份、灾难情况可以选择从备份恢复集群
    • 配置升降、集群扩缩容:借助腾讯云上计算存储资源,您可以方便快速调整etcd集群配置和节点个数
    • etcd版本升级:帮助您快速安全地跟进社区bugfix版本更新,版本上线前会经过内部大规模场景验证,避免因etcd自身bug造成隐患。
一键部署etcd集群

集群云原生监控

除原生指标外,集成云原生监控还同时支持扩展的巡检指标,如数据一致性巡检,集群健康探测,业务写QPS巡检等。

etcd集群管理

腾讯云原生etcd服务产品优势

易用使用的托管部署

您可以在腾讯云容器服务控制台一键创建高可靠,高性能etcd集群, 即可在几分钟内启动一个可投入生产的etcd集群。底层资源基于K8s部署,通过operator进行管理,支持将节点打散到不同的可用区,在3个可用区的情况下,单可用区挂掉不影响集群正常服务,节点挂掉之后可以快速自愈,最大程度降低不可用时间。数据持久化存储于腾讯云云硬盘,具备多副本的容灾能力。您不需要过多关注etcd的各项复杂参数,我们会根据您的集群配置,自动适配到合适的参数配置。

安全的数据访问

支持开启https双向认证及鉴权,数据访问更加安全。支持通过安全组来限制访问来源。

完善的数据备份/恢复

您可以在控制台创建集群时或集群创建完成后设置etcd的备份策略,支持定时的将数据备份到腾讯云对象存储COS服务,您也可以手动来触发备份。在集群数据异常需要回滚的情况下,可以通过COS备份来恢复集群。

全面的监控告警

无缝对接腾讯云原生监控服务(托管prometheus服务),默认提供您需要关注的各项性能指标和可用性指标,您也可以自行聚合需要的监控指标和面板,帮助您更好的监控etcd集群状态。

热点数据分析

除默认的监控能力外,我们额外提供了热点数据分析和慢查询分析能力,可以帮助您更好的分析异常请求来源,及时发现问题并进行优化。

完善的保障机制

云原生etcd服务的高可靠性让您可以放心将数据放在云端,无需担心数据丢失,也简化了传统运维工作中为保障数据高可靠带来的额外工作量和额外的 IT 投入成本。

可靠的版本验证和更新机制

版本上线前会经过完善的内部测试和大规模验证,通过混沌工程进行故障演练,保证版本的稳定性。

全流程的运维服务

您无需关心云原生etcd服务的安装、部署、版本更新及故障处理,容器团队为您免除后顾之忧。

内测邀请

我们诚挚邀请您参与腾讯云原生etcd服务的内测, 您可以通过扫描以下二维码进行内测申请:(或者点击底部阅读原文也可以申请哦!

附录

《三年之久的 etcd3 数据不一致 bug 分析》

《万级K8s集群背后etcd稳定性及性能优化实践》

0 人点赞