【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

云原生生态周报 Vol. 18:独家解读 etcd 3.4 新特性

  • 2019-09-09
  • 本文字数:2630 字

    阅读完需:约 9 分钟

云原生生态周报 Vol. 18:独家解读 etcd 3.4 新特性

前言

《云原生生态周报》由阿里云容器平台联合蚂蚁金服共同发布,每周一期。众多一线社区专家与您一起“跟踪动态,读懂社区”,分享云原生社区项目进展、活动发布、精选博客等信息。以下是第十八期云原生生态周报的内容。

业界要闻

etcd 发布 3.4 版本

etcd 发布了 3.4 版本,是最近性能提升最大的一次发布,相信各位已经期待已久了!这次升级带来稳定性和性能等方面诸多优化,例如底层存储优化、客户端优化等。


  1. 阿里联合谷歌共同研发,raft learner 新特性


使用过 zookeeper 的人一定听说过 observer,etcd 中新的 raft learner 类似于 observer, 它不参与 raft 投票选举。通过这个新角色的引入,降低了加入新节点时给老集群的额外压力,增强了集群的稳定性。除此之外还可以使用它作为集群的热备或服务一些读请求。



这一新 feature 是由阿里巴巴工程师和谷歌工程师共同研发的,未来我们将带来更详细的解读分析,敬请期待。


  1. 更好的底层存储实现


本次 etcd 存储升级针对大规模的集群有重点优化,分为两方面:


  • key/value 存储层,通过将底层读事务优化为全并发,大幅度提升了 etcd 读写性能。经 Kuberentes 5000 节点性能测试,表明在大规模读压力下,P99 写的延时降低 97.4%;

  • lease 存储优化,通过优化 lease 底层存储实现和算法更新,将查询、过期失效等 lease 操作时间复杂度降低。并且新的 lease checkpoint 机制确保了 etcd 集群切换 leader 后 lease ttl 的准确性。


  1. 优化的 raft 投票选 leader 机制


etcd 中用 raft 规定了日志复制和选主的机制。旧有的机制在选主过程中存在隐患,当网络分区或新加入节点不稳定时会出现,导致整个集群不稳定。新的 pre-vote 机制解决了这一问题,提升了集群的稳定性。


  1. 新的客户端负载均衡


etcd 设计上可以容忍网络分区和服务层的部分失效,但是之前的机制依赖旧的 grpc,这次更新基于新的 gprc 版本重新优化了客户端负载均衡,使负载真正均衡,并且解决了之前 failover 失败问题。


阿里巴巴已对这一更新进行了测试,效果良好。此次更新已合入 Kubernetets master, 预计在 Kubernetes 1.16x 版本发布。

Kubebuilder v2.0 正式版发布

对应 controller-runtime v0.2.0 版本,发布了新版的文档说明。新旧版本有以下区别:


生成的代码框架调整,目录结构更加扁平化;


controller-runtime 提供的 DelegatingClient 支持 patch 接口(v1.x 时吐槽很多),webhook 不再支持自动生成 cert 证书,目前官方是推荐用户部署 cert-manager 配合使用;


简化为自定义资源编写 defaults 和 validation 的方法。

5 年了,第一篇 Kubernetes 项目历程报告发布

从报告提供的各类图表中,可以直观感受到 Kubernetes 从 2014 年到今天这 5 年来的变化,以及当前 Kubernetes 在云原生领域和全球的巨大影响力。


上游重要进展

Kubernetes

1.KEP:把 scheduler 中的 priorities、predicates 函数设置为 deprecated


因为 scheduling framework 的所有 extension points 都已经实现,并将会在 1.17 中变为 beta 版本,希望将当前 scheduler 中的 priorities、predicates 函数开始设置为 deprecated,并将它们改为 scheduling framework 的插件。


2.KEP:允许 exec 命令使用 -u 参数指定 username


按照 KEP 作者的说法,exec 指定 username 便于用户进入容器 debug。但问题在于,CRI 标准接口里是不支持 user 这个 exec 参数的,只是 Docker、Kata、gVisior 这些大多数的 container runtime 实现版本里支持。但社区希望推的是统一接口,尽量抹平不同实现版本的差异性,所以这个 KEP 能否被接受还得打个问号。


3.PR:HPA 中新增 scaling constraints


这个 PR 用于给 HPA 添加 scale down/up 的限制。在 API 层面的改动是在 HorizontalPodAutoscalerSpec 结构中新增了一个 Constraints,HPAScaleConstraints 中定义了 ScaleUp 和 ScaleDown 的限制,在 HPAScaleConstraintRateValue 中支持 3 种限制方式:Pods 数量、Percent 百分比、PeriodSeconds 周期。


  1. bugfix


开源项目推荐

  1. octant 项目


一个基于 web 的轻量级、可扩展的平台,帮助开发者理解复杂的 Kubernetes 集群。


这个 web 平台主要是作为一个工具,给开发者展示一个应用在 Kubernetes 集群中的部署和运行,目前支持的有资源展示、用于 debug 的端口转发、日志流、多集群管理等等。


2.kapp 项目


一个命令行工具,帮助用户管理大规模应用部署下的资源。


kapp 工具主要功能包括资源 diffing、label 标记、部署和删除管理等。和 Helm 不同的是,kapp 主要关注的是部署流程,而非打包或者 YAML 模板等,同时在一定程度上支持 GitOps 工作流。


本周阅读推荐

  1. How does “kubectl exec” works?


通过网路请求和源码分析,解析了一次 kubectl exec 请求是如何从客户端经过 kube-apiserver 和 kubelet,最终建立起到容器内的命令通道。


  1. Kubernetes Evolution


访谈了来自 22 个公司的人员,“你认为 K8s 的未来和最佳机遇是什么?”


3.《Kubernetes Concerns


访谈了来自 22 个公司的人员,“你对当前 K8s 的使用上有什么担心之处?”


4.《How Kubernetes works


本文从小白的视角,介绍了 Kubernetes 的集群结构、一些基本的资源概念以及 master/worker 的各类基础组件,适合于没有接触过或刚开始 K8s 的同学阅读。


相关阅读


云原生生态周报 Vol. 17 :Helm 3 发布首个 beta 版本


云原生生态周报 Vol. 16:CNCF 归档 rkt,容器运行时“上古”之战老兵凋零


云原生生态周报 Vol. 15:K8s 安全审计报告发布


云原生生态周报 Vol. 14:K8s CVE 修复指南


云原生生态周报 Vol. 13 | Forrester 发布企业级容器平台报告


云原生生态周报 Vol. 12 |K8s 1.16 API 重大变更


云原生生态周报 Vol. 11 | K8s 1.16 早知道


云原生生态周报 Vol. 10 | 数据库能否运行在 K8s 当中?


云原生生态周报 Vol. 9 | K8s 1.15 后的性能提升


云原生生态周报 Vol. 8 | Gartner 发布云原生趋势


云原生生态周报 Vol. 7 | Docker 再爆 CVE


云原生生态周报 Vol. 6 | KubeCon EU 亮点汇总


云原生生态周报 Vol. 5 | etcd 性能知多少


云原生生态周报 Vol.4 | Twitter 从 Mesos 全面转向 Kubernetes


云原生生态周报 Vol. 3 | Docker Hub 遭入侵,Java 8 开始提供良好的容器支持


云原生生态周报 Vol. 2 | Godaddy 开源 KES、CNCF 提供免费云原生课程


云原生生态周报 Vol. 1 | Google 发布 Cloud Run,开源项目 Kubecost 让 K8s 花费一目了然


2019-09-09 14:014091

评论

发布
暂无评论
发现更多内容

消息服务MNS之初见

六月的雨在InfoQ

Java 云产品 MNS 三周年连更 消息服务

对话 BitSail Contributor | 刘啸:参与开源,提升自我技术力

字节跳动数据平台

大数据 开源 数据集成 数据集成平台 数据引擎

保护企业网站安全,华为云网站安全解决方案有绝招

秃头也爱科技

Greptime 的 GitOps 实践

Greptime 格睿科技

k8s gitops IaC

使用CodeArts发布OBS,函数工作流刷新CDN缓存

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

全面数字化时代,国有大型银行如何走好金融创新之路?

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

摄影师必备图像编辑工具:Capture One Pro 23中文版

真大的脸盆

Mac Mac 软件 图像编辑 图像编辑工具 图像处理软件

JavaScript 对象遍历为什么要使用 hasOwnProperty 检查属性

Lee Chen

JavaScript

看数据如何驱动业务增长,来用友BIP技术大会探索数据智能的力量

用友BIP

数据智能 技术大会 用友iuap 用友技术大会

关键的Java JVM选项和参数

码语者

JVM

各大金融企业都在用的堡垒机-行云管家堡垒机

行云管家

金融 数据安全 堡垒机

macbook触摸板怎么按右键

互联网搬砖工作者

前端开发:未来依旧光明 | 社区征文

海拥(haiyong.site)

三周年征文

TiDB 6.1/6.5 在 Rocky Linux 8 中的部署升级与 PITR 初体验

TiDB 社区干货传送门

版本升级 安装 & 部署 备份 & 恢复 扩/缩容 6.x 实践

每日 Scrum 与站立会议:有什么区别?

码语者

Scrum

牛客网热度最高的17套一线大厂Java面试八股文!面面俱到,太全了

架构师之道

Java 面试

Spring Security 的介绍和简单使用

会踢球的程序源

Java 后端 spring security Java进阶

【坚果派-坚果】OpenHarmony新增并编译芯片解决方案

坚果

OpenHarmony OpenHarmony3.2 三周年连更

网站不收录是受哪些因素影响?

海拥(haiyong.site)

三周年连更

CSS中的各种格式化上下文-FC(BFC、IFC、GFC、FFC)

肥晨

css3 三周年连更

众多企业的共同选择,华为云网站安全解决方案有哪些优势?

秃头也爱科技

企业内部培训网站为例,探索云上成本优化

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

精华!Redis 知识总结

会踢球的程序源

Java Java进阶 redis 底层原理

国内功率半导体需求将持续快速增长

华秋电子

观远数据 × Azure OpenAI,国内首个 BI Copilot 产品化应用

观远数据

ChatGPT

火山引擎云原生数据仓库ByteHouse技术白皮书V1.0(中)

字节跳动数据平台

数据仓库 云原生 白皮书 云数据仓库 企业号 4 月 PK 榜

Parallels Desktop PD 18虚拟机关闭、停止、中止和暂停操作的区别

互联网搬砖工作者

JMeter 并发测试和持续性压测详解

Liam

测试 压测 并发测试 测试工具

MatrixOne logservice 原理解析

MatrixOrigin

分布式数据库 MatrixOrigin MatrixOne Log Service

一名开发者眼中的TiDB与MySQL选择

TiDB 社区干货传送门

数据库架构选型

企业级安全运维审计产品-行云管家堡垒机全新V7.0举行线上发布会

行云管家

运维 云堡垒机 安全运维 等级

云原生生态周报 Vol. 18:独家解读 etcd 3.4 新特性_服务革新_宇慕_InfoQ精选文章