etcd 2.1发布,可不宕机滚动升级-阿里云开发者社区

开发者社区> 轩墨> 正文

etcd 2.1发布,可不宕机滚动升级

简介: 本文讲的是etcd 2.1发布,可不宕机滚动升级,【编者的话】etcd是一个用于配置共享和服务发现的高性能的键值存储系统。在2.0版本发布半年之后,etcd终于发布了新的2.1版本,2.1修复了2.0中的众多BUG,并引入了很多新功能,如在线不中断更新与新的鉴权API等众多改进与新功能。
+关注继续查看
本文讲的是etcd 2.1发布,可不宕机滚动升级,【编者的话】etcd是一个用于配置共享和服务发现的高性能的键值存储系统。在2.0版本发布半年之后,etcd终于发布了新的2.1版本,2.1修复了2.0中的众多BUG,并引入了很多新功能,如在线不中断更新与新的鉴权API等众多改进与新功能。

经过数月的艰苦工作,etcd 2.1终于发布了。自从1月份2.0版本发布以来,整个研发团队收集了很多非常有价值的反馈,而且这些反馈都来自于真实生产环境。在这些反馈的基础上,我们发布了新的2.1版本,新功能包括:鉴定/授权API、新的监控API、提升了传输的稳定性、改进了etcd服务器集群之间传输数据的性能、增强了集群的运行稳定性。

快速回顾下,我们发现etcd是一个开源的、分布式的、基于持续键值对存储的服务器集群共享配置、服务发现以及服务节点调度解决方案。使用etcd,即使面对单个服务器失效,应用依然可以继续运行。同时etcd也是CoreOS的核心组件,它为CoreOS带来了安全的自动更新、主机调度的协调工作以及容器的覆盖网络(overlay)等功能。

如果你觉得看简介比较繁琐,你可以在GitHub上下载我们最新的二进制文件。同时,etcd 2.1.1已经包含在了CoreOS 725.1.0中了(现在在alpha通道中),所以你可以自己下载去玩。

从2.0版不宕机滚动升级

从2.0版升级到2.1版是一个零宕机滚动升级过程。你可以根据向导提示,将集群一步步从2.0升级到2.1。详细信息可以参考升级文档。如果你当前运行的版本低于0.4.x,那么你必须先升级到2.0,然后从2.0版升级到2.1。

同时,随着版本的发布,etcd 2.1是目前最稳定的etcd版本,所以所有的bug修改都会以2.1.x版本为基础,不再针对之前的2.0.x版本发布修改。

发布鉴权API

这个版本的一个重要特性是/v2/auth端,为etcd的键值对API加入了鉴权功能。这个API允许为用户和角色加key前缀,并且允许用户使用HTTP基本认证功能,这样可以使团队合作更加可控。这个功能包含在etcd的HTTP Server、etcdctl命令行客户端以及etcd/client的Go开发包中。你可以在etcd权限管理文档中找到更多的细节。但是还是要注意,这是个实验性的功能,而且会随着用户的反馈而不断改进。我想我们的方向是正确的,但是对于API的细节可能会发生调整。

提升传输稳定性

很多使用etcd的用户所在的网络环境不是很好,包括高延迟、网络数据不一致等问题比较多。我们虽然不能保证etcd可以应付所有复杂的网络环境,但是我们在这一版中对etcd在使用网络方面做了很多优化,使得etcd在复杂网络环境情况下能够更好的工作。

首先,我们减少了建立连接的开销,同时使得一致性协议(raft)的通信更加高效与稳定,现在etcd的节点之间通过长连接来进行通信。其次,减少raft命令的提交延迟,现在每个raft附加消息(append massage)都附属在一个提交索引(commit index)之下。在轻负荷(<100写操作/秒)情况下提交延迟由100ms减少到1ms。最后,etcd的raft实现能提供更好的内部数据流转控制,显著的减少了raft消息丢包的情况同时还改进了CPU与内存的使用效率。

对etcd进行功能性测试

我们在发布2.1之前的4个月里,在自建的故障注入(fault-injecting)型功能测试框架里运行etcd,来对etcd做严格测试。我们的目标是让etcd在重度使用的情况下仍能够保持功能上的容错性;在这几个月的测试中,我们发现etcd能够在很多极其严苛与各种功能失效的情况下保持服务的鲁棒性。而且我们会在2.1发布之后持续对etcd进行测试。

改进了日志功能

现在支持分级日志了。用户根据业务需要设置日志级别。同时对于DEBUG级别的日志我们会重复啰嗦的记录几遍,所以etcd的默认日志的可读性会提高很多。你可以通过设置flag来控制日志的级别,参考这里

新的监控API

etcd 2.1发布了新的监控API,并可以用于排错(debug)与实时(real-time)的监控。它提供了对客户端使用情况与资源利用方面的统计功能。向之前的鉴权API一样,这个也是实验性的功能,可能会根据反馈进行调整、改进。

开始使用吧

我们会一如既往的把etcd打造成一个Google风格的底层的基础工具,用户可以开箱即用、信任它并且依赖它提供的服务。开始使用etcd吧,持续为我们提供您的反馈,甚至可以直接贡献代码

--------------------------------------------------
原文链接:Introducing etcd 2.1 (翻译:肖劲 审校:魏小红)

原文发布时间为:2015-07-29
本文作者:amwtke
本文来自云栖社区合作伙伴DockerOne,了解相关信息可以关注DockerOne。
原文标题:etcd 2.1发布,可不宕机滚动升级

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10067 0
阿里云新品发布会周刊第90期 丨 云数据库PostgreSQL版重磅升级开年发布会
3月3日,PostgreSQL社区每年发布一个大版本,就是为了让用户享受到PG 大版本带来的功能和性能方面的提升。 本次直播,阿里云高级产品经理德哥将重磅发布云数据库PostgreSQL 13大版本,并介绍大版本一键升级等功能。
808 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10882 0
阿里云文件存储CPFS升级版本发布
文件存储CPFS 2.0性能功能全面升级
1749 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13878 0
新品发布 | 混合云一体机重磅升级
随着边缘计算时代的来临,越来越多的企业选择在边缘进行智能分析,终端设备海量增长给边缘节点的安全性、管理复杂度及成本均带来巨大挑战。依托阿里云在大数据、人工智能、物联网等领域的深厚积累,阿里云混合云推出「混合云一体机」(Apsara Stack Appliance)为政企提供软硬件一体解决方案,深耕行业场景智能应用助力业务高效创新。
243 0
1月20日 | 2021云数据库RDS重磅升级发布会
云数据库RDS重磅升级发布会将为您一一揭秘,本次发布会于1月20日14:00-15:00开启直播,我们将对RDS的高弹性产品形态、RDS专属规格进行深度解读,并分享AliSQL内核上众多企业级功能和性能、稳定性、安全等方面的优化。2021开年RDS重磅升级发布会不容错过,敬请期待!
664 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7361 0
+关注
2351
文章
701
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载