GMTC北京站两周后开幕,58个议题全部上线,点击查看 了解详情
写点什么

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

2019 年 5 月 22 日

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

前言

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


业界要闻

  1. Azure Red Hat OpenShift 已经 GA。在刚刚结束的 Red Hat Summit 2019 上,Azure Red Hat OpenShift正式宣布GA,这是一个微软和红帽共同打造的 Managed Kubernetes 服务:原本的红帽的 OpenShift 本身就存在 on-premise 和公有云两个选项,Azure Red Hat OpenShift 的出现宣告了一个新的方向,即为公有云厂商提供只在其云平台上运行的 Managed Kubernetes 服务。RHEL 8 同样在 Red Hat Summit 2019 上进行了发布。

  2. DOCKER IMAGE VULNERABILITY (CVE-2019-5021):新发现的 Docker Image 安全漏洞

  3. 问题:如果你的 Container 镜像中包括 shadow 或者 linux-pam package 并且有以 non-root 身份运行的 service,攻击者只要可以通过任何不安全手段连接系统(who compromised your system via an unrelated security vulnerabillity),或者可以使用 shell,那么攻击者就可以获取容器内容的 root 权限。

  4. 被影响对象包括 Docker image releases (7 March 2019):edge (20190228 snapshot)、v3.9.2、v3.8.4、v3.7.3、v3.6.5 和已经停止维护的 v3.5、v3.4 和 v3.3

  5. 如果你的在被影响范围内,请尽快进行修复,参见详情

  6. 红帽发布Universal Base Image(UBI)。随着 RHEL 7,红帽发布了 RHEL 标准镜像,为客户提供企业级别的容器能力。然而这个标准镜像只能运行在 Red Hat 的平台之上,意味着你必须是他们的客户。而本次发布的 UBI 可以叠加在任何 OCI 兼容的容器之上,无论你是否是付费客户。UBI 提供了一些列基础能力,例如基础镜像、集中内置的语言(nodejs, ruby, python, php, perl, etc)、常用的 RPM 包等等。


上游重要进展

Kubenetes 项目


  • Control Plane 的 metrics 设计趋于稳定,开始考虑添加设计稳定性标注。目前 K8s control plane 提供的 metrics 是缺乏稳定性保障的,这个 KEP 的目的是为 metrics 中的字段(name、type、label 等)提供一种表达机制,来表明这些字段是否可以被可靠的修改。随着目前 control plane 层的 metrics 趋于稳定,未来的修改应该谨慎并引入管控机制。具体可以看 Kubernetes Control-Plane Metrics Stability


Knative 项目


  • knative-eventing 0.6.0 发布,主要特性是:增强易用性,新增 Registy,便于事件消费;增强可用性:新增事件跟踪机制以及 Metrics;简化依赖,去掉 Istio 依赖,减少了对 Eventing-Sources 组件的依赖,数据源处理迁移到 Eventing 中。详细说明请见 knative-eventing 0.6.0解读文章

  • knative-serving 0.6.0 发布,主要特性是:新 api 模型,移植 v1beta1 API 到 v1alpha1 API,不兼容的部分预计会在 0.7.0+实施;优化 scale0 实现方式,增加 ServerlessService(SKS);集成 Auto-TLS;控制器解耦,以便容易替换默认实现。详细说明请见 knative-serving 0.6.0解读文章。 ServerlessService(SKS)的详细介绍请见 SKS解读文章


更多可参见《Knative Eventing 中如何排查Event事件处理异常


开源项目推荐

  1. KubeOne: A New Lifecycle Management Tool for HA Kubernetes Clusters。KubeOne 是一个帮助你部署、配置、升级高可用 K8s 集群的工具。以 Kubeadm 作为底层,KubeOne 定义了 Kubermatic machine-controller 这个 Cluster API,方便用户可以以 K8s 的声明式 API 方式来管理集群中的 worker 节点。更多信息可以参考:KubeOne博文Github链接

  2. KEDA: a Kubernetes-based Event Driven Autoscaling component。微软推出的基于事件的自动弹性方案。区别于传统反应式的水平弹性方案(例如基于某个 metric 的变化),很多场景中用事件驱动的方式触发弹性动作是更加可靠的方案。相关博文介绍了 KEDA 接入的丰富的事件源,包括 Kafka, Azure Queues, Azure Service Bus, RabbitMQ, HTTP, and Azure Event Grid / Cloud Events 等等。具体可以看 Announcing KEDA博文Github链接


本周阅读推荐

  1. etcd 在超大规模数据场景下的性能优化,作者:陈星宇(宇慕)来自阿里巴巴。etcd 是一个开源的分布式的 kv 存储系统, 最近刚被 cncf 列为沙箱孵化项目。etcd 的应用场景很广,很多地方都用到了它,例如 kubernetes 就用它作为集群内部存储元信息的账本。本篇文章简单介绍了阿里巴巴超大规模集群中对 etcd 使用的场景也就是优化的背景和优化的必要性。在干活部分,本文从 etcd 内部存储系统的工作方式开始,详细描述了阿里巴巴超大规模容器调度场景下对 etcd 进行优化的具体的实现方式,优化后性能提高 24 倍。总之这是一篇相当硬核的博文,从场景到代码级别的诊断分析应有尽有。更加值得一提的是,本文得到 CNCF 官方网站的转载。中文版链接英文版链接

  2. To Multicluster, or Not to Multicluster: Inter-Cluster Communication Using a Service Mesh, by Andrew Jenkins. K8s 已经成为容器编排的事实标准。在使用 K8s 解决了集群内通讯的问题后,我们发现解决集群间通讯似乎需要更多的设计以及难以避免的开销。很多用户的确有多集群的需求,但是在你开始设计多集群方案的时候,你真的了解你对多集群的核心诉求吗?你对多集群的诉求和别人的理解真的一致吗?这篇文章介绍了几种典型的多集群需求(统一管控的多集群 vs 以高可用为目的的多集群 vs 组成复杂业务 &集群间密集通讯的多集群),并指出适配这些需求需要的是不同的设计思路。如果你也在考虑多集群的需求,不妨看一看。原文链接

  3. Kubernetes Operating Systems, by Steven Acreman. 从最早的 CoreOS 开始,随着 K8s 的蓬勃发展,最近出现了 k3os、Talos 等与 K8s 息息相关的操作系统纷纷出现,那么这些操作系统和在基础 Linux 环境上安装 K8s 有什么不同?阅读这篇文章可以帮助你梳理一下思路。原文链接

  4. Google Cloud Run详细介绍: 在 Cloud Next 2019 大会上,Google 宣布了 Cloud Run,这是一个新的基于容器运行 Serverless 应用的解决方案。Cloud Run 基于开源的 knative 项目,宣称要将 serverless 带入容器世界。


本周报由阿里巴巴容器平台联合蚂蚁金服共同发布


本周作者:临石,敖小剑,陈有坤,元毅,冬岛


责任编辑:木环




前期周报回顾


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


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


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


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




2019 年 5 月 22 日 11:375831
用户头像

发布了 37 篇内容, 共 16.8 次阅读, 收获喜欢 141 次。

关注

评论

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

技术工作的一二三之内功

拖地先生

个人成长

阅读对写作的好处

七镜花园-董一凡

写作

Java 异步编程:从 Future 到 Loom

理帆

Java 并发编程 kotlin Netty

Git数据传输模型及常用命令整理

王坤祥

git git flow

redis数据结构介绍五-第五部分 对象

Nick

redis 源码 数据结构 源码分析 算法

使用 Python 和 SudachiPy 进行日语分词

Roc

Python 日语 分词

简述 HTTP 缓存相关的首部及其行为

黄耗子皮

缓存 HTTP

RocketMQ broker.properties

李绍俊

RocketMQ

JUC整理笔记三之测试工具jcstress

JFound

Java

微信推文无缝滚动是这样炼成的

喵喵侠

微信 前端开发 微信公众号 微信推文 图文混排

redis数据结构介绍四-第四部分 压缩表

Nick

redis 源码 数据结构 源码分析 算法

介绍一下自研开源NLP工具库---MYNLP

陈吉米

自然语言处理 中文分词 mynlp nlp

【译】并不存在的普通用户(面向极端用户的设计)

Yukun

设计思维 可用性

KubeFATE 部署多集群联邦学习平台 FATE

亨利笔记

学习 Kubernetes FATE KUBEFATE

RocketMQ - 如何实现顺序消息

Java收录阁

RocketMQ

Kubernetes in action 笔记

FeiLong

Kubernetes 容器

ARTS-weekly-31

落英坠露

ARTS 打卡计划

教师节H5案例制作思路分享

喵喵侠

前端开发 H5游戏

技术工作的一二三之价值观方法论

拖地先生

个人成长 方法论

企业也有中年危机?探讨数字化与永续经营

fino星君

数字化转型 小程序生态

学慢点儿,想深点儿

熊斌

学习

Yii2.0 RESTful API 之速率限制

Middleware

php RESTful Yii2

[JVM] String#intern 面试必会

猴哥一一 cium

Java JVM string pool string Java 25 周年

一个前端的 Windows10 开发环境

Gadzan

前端开发 windows Windows Terminal 环境安装 开发工具

平台化服务的基石:用户认证模型设计

孤岛旭日

企业架构 模型 用户权限

ansible-playbook中when结合tags使用,实现变量控制执行

唯爱

技术工作的一二三之快餐

拖地先生

项目管理 软件开发 技术管理 软件开发流程

最长回文算法(马拉车算法)分析

Gadzan

Java 算法 LeetCode

使用 Python 分析 Google Calender 日程

Roc

Python 总结 日历

一周信创舆情观察(5.18~5.24)

统小信uos

基础软件 操作系统

redis数据结构介绍六 快表

Nick

redis 源码 数据结构 源码分析 算法

Service Mesh的演化与未来

Service Mesh的演化与未来

云原生生态周报 Vol. 5: etcd性能知多少-InfoQ