写点什么

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

  • 2019-07-15
  • 本文字数:2291 字

    阅读完需:约 8 分钟

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

前言

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

业界要闻

  1. Helm 这款包管理工具,作为业界 Kubernetes 上应用分发的事实标准,其 v3.0.0-alpha.1 正式发布,这是 Helm 3 的第一个Alpha版本,标志着 Tiller 这个 Server 端组件正式从 Helm 体系中谢幕。

  2. Talos发布。Talos 是一款专门用于部署 Kubernetes 的操作系统。相对于 CoreOS,RancherOS 或者 LinuxKit 这些容器操作系统,Talos 更为精简。但是由于去除了 ssh 等基础工具,这对于 Ansible 等基于 ssh 的 Kubernetes 部署工具影响巨大。

  3. Google 推出深度学习容器,这是一种用于部署和测试利用机器学习应用与服务的优化环境。Beta 版本的深度学习容器可在云与本地工作,从而使得在本地或云中进行开发或原型设计成为可能。此外,该容器还能直接访问 CUDA、cuDNN、NCCL 工具,支持 PyTorch、TensorFlow 2.0 和 TensorFlow 1.13 框架。

上游重要进展

Kubernetes 项目性能提升

  1. 大规模场景下一定要 Cherry Pick 的几个特性:



  1. client-go 会把 List/Watch 超时设置为 [5min, 10min),即在超时时间后会重新发起 List/Watch,建议 Daemenset 调整这个时间到几十分钟甚至数小时级别,不然 Apiserver 可能会因为大量访问崩溃。同时,也在考虑 kubelet 是否也要修改这个值,代码的注释里写着 5min 是为了平衡负载均衡以及解除负载均衡设备 watch 的 hang 住 bug。

  2. client-go RateLimiter 加入 Wait 方法,避免在异步场景下使用 client-go 引起 goruntine 积压。

  3. Webhook 和 Adimission 支持 context-aware,在这个修复之前,Webhook 和 Admission 的性能也可能引起 Apiserver goruntine 积压从而影响 Apiserver 性能。

  4. Kube-Apiserver 到达 IO 瓶颈时,metric 错误的将 IO 瓶颈错误归类到 504。我们需要将逻辑处理超时和写 IO 超时分开。

Kubernetes 可靠性和稳定性

  1. 新引入 WatchBookmark 特性。该特性能大大提高 Kube-Apiserver 的 List/Watch 性能,大家都知道,大规模集群下各个组件的 List/Watch 会消耗 Kube-Apiserver 巨大的性能开销,有了该特性,我们可以展望未来的集群规模又可以上升一个台阶。 (#74074, @wojtek-t)

  2. Admission 默认开启 StorageObjectInUseProtection。StorageObjectInUseProtection 能保护正在使用的 PV/PVC 被误删除。这对手速太快的开发和 SRE 同学是一个很大的福音。(#74610, @oomichi)

  3. 蚂蚁金服在大规模实践中,发现 Daemonset 有各种发布和部署 Pod 被卡住的问题,蚂蚁同学对 Daemonset Controller 可能发生的一系列死锁问题做了修复。


参考链接:


https://github.com/kubernetes/kubernetes/pull/78974


https://github.com/kubernetes/kubernetes/pull/77773


https://github.com/kubernetes/kubernetes/pull/77208


https://github.com/kubernetes/kubernetes/pull/78170

Knative 项目

  1. knative-eventing 0.7.0 发布,主要特性是:重构 channel,为每个 Channel 单独创建了 CRD 资源;支持事件顺序处理(Sequence);在 Channel, Subscription, Broker, 以及 Trigger 中增强注释信息;事件追踪支持;事件源增强。详细说明请见 knative-eventing 0.7.0解读文章

  2. knative-serving 0.7.0 发布,主要特性是:发布 serving.knative.dev/v1beta1 api ;HPA 支持根据并发请求指标扩缩容;切换到非 root 用户容器;详细说明请见 knative serving 0.7.0 版本变更。

  3. 讨论serving是否支持异步请求:要求请求后马上返回,另外可以根据 id 查询状态,当前还没有结论。从这个需求讨论可以看出 serving 在扩大自己的场景,不满足只做 ping-pong 式的处理。支持异步请求可以用在以下的场景


  • Long-running jobs


Notifications (e.g. mobile push notification, SMS notification, mass emails, etc)


Database migrations


  • Batch processing (e.g. data transformation)

  • Stream processing

  • Highly parallel jobs (document, image, … processing)

  • Fan-out workloads

  • -Serveless Operator


  1. 期望在缩容的时候,由autoscaler来决定删除哪些pod。例如在 scale-down 时,各个 pod 的负载不平衡,这个时候希望能挑选 sale-down 代价最小的 pod。serving-revision 使用 K8-deployment,如果不更换实现方式,需要 k8 底层支持,k8也有相关的讨论

本周阅读推荐

  1. Cloud 2.0:代码不再为王,Serverless 当道!》 这一篇不错的“务虚”文档,可以从技术演进的视角去思考云时代的技术演进。

  2. 《微服务架构之「 监控系统 」》 ,这篇文档详细且完整的描述了微服务架构下的监控系统。用户可以根据此文档对微服务的解决方案进行入门级的了解。

  3. 《Knative 核心概念介绍:Build、Serving和Eventing 三大核心组件》,面对火热的 Serverless 项目 Knative,这篇文章对 Knative 的基础概念进行了精确的概括总结。


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


本周作者:心贵、莫源、元毅、衷源、张磊


责任编辑:涂南、木环


前期周报回顾


云原生生态周报 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-07-15 16:453233

评论

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

TiDBv6.5离线部署

TiDB 社区干货传送门

6.x 实践

属实不赖!Alibaba开源GitHub星标114K微服务架构全彩进阶手册

Java你猿哥

Java 架构 微服务 微服务架构 ssm

用友与临港集团签署战略合作协议

用友BIP

国资国企数智化转型

专业解读财务共享实现财务数智化转型的有效路径

用友BIP

财务共享

C4D 常用 14 款插件

Finovy Cloud

C4D 3D软件

Github标星78k,Alibaba最新发布的Spring Boot项目实战文档!太强了

Java你猿哥

Java 面试 Spring Boot ssm Spring MVC

面试进阶齐飞!Github一天万赞的阿里Java系统性能优化有多牛?

Java你猿哥

Java JVM ssm Java性能优化

TiDB 使用国内公有云和私有部署的 S3 存储备份指南

TiDB 社区干货传送门

数据库架构设计 6.x 实践

跪了!Alibaba内部优质Springboot笔记:两大项目实战+源码解析

做梦都在改BUG

Java spring 微服务 Spring Boot 框架

浅析财务共享各阶段面临的挑战

用友BIP

财务共享

软件测试/测试开发丨Web自动化测试中显式等待的高级使用

测试人

程序员 软件测试 自动化测试 测试开发

TiDB x Flink 数据集成实践

TiDB 社区干货传送门

实践案例 大数据场景实践 数据中台场景实践 OLAP 场景实践

TiDB x Flink x Iceberg 实时 ODS 实践

TiDB 社区干货传送门

实践案例 大数据场景实践 实时数仓场景实践 数据中台场景实践 OLAP 场景实践

阿里全新推出:微服务突击手册,把所有操作都写出来了|超清PDF

Java你猿哥

Java spring Spring Cloud ssm Ribbon

JVM——解析运行期优化与JIT编译器

Java你猿哥

JVM ssm 虚拟机 编译器 JIT编译器

深入浅出微服务:40个微服务架构实战案例(Dubbo+Springcloud)

做梦都在改BUG

Java 微服务 Spring Cloud

如何将千亿文件放进一个文件系统,EuroSys'23 CFS 论文背后的故事

Baidu AICLOUD

文件存储 元数据

惊喜!华秋DFM软件升级,新功能让你爱不释手

华秋电子

JVM—解析运行期优化与JIT编译器

做梦都在改BUG

Java JVM JIT

厦门狄耐克:助推智慧医疗,需要夯实自身的技术底座

华为云开发者联盟

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

【5.19-5.26】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

如何通过财务共享推进财务精细化管理

用友BIP

财务共享

开发敏捷高效 | 云原生应用开发与运维新范式

CODING DevOps

DevOps 云原生 CODING DevOps 开发运维 敏捷高效

秒杀系统常见问题—如何避免库存超卖?

做梦都在改BUG

秒杀系统 电商超卖

用友协办国有资本投资运营公司第八次圆桌会议, 展示数智国资发展新路径

用友BIP

国资国企数智化转型

基于openfaas托管脚本的实践

百度Geek说

数据库 百度 企业号 5 月 PK 榜

官宣!时序数据库 TDengine 与天翼云完成产品兼容性认证

爱倒腾的程序员

涛思数据 时序数据库 ​TDengine

微服务是不是金科玉律?基于Spring Cloud如何构建分布式系统?

做梦都在改BUG

Java 架构 微服务 Spring Cloud

SpringBoot 实现启动项目后立即执行方法的几种方式

Java你猿哥

源码 jdk Spring Boot ssm

Github上星标55.9k的微服务神仙笔记真的太香了

做梦都在改BUG

Java 架构 微服务 Spring Cloud 设计模式

池州控股集团财务共享项目启动啦!

用友BIP

财务共享

云原生生态周报 Vol. 9:K8s 1.15 后的性能提升_云原生_心贵_InfoQ精选文章