写点什么

云原生生态周报 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:453314

评论

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

万字长文,Spark 架构原理和RDD算子详解一网打进!

云祁

大数据 spark 7月日更

两者可兼得,在IDEA中使用Git!

Ayue、

git 学习

重磅!不容错过的阿里内部微服务速成手册也太赞了(2021版)

Java

统一服务门户,让运维不再成为“背锅侠”和“救火队”

BoCloud博云

简单四步学会在数字孪生可视化场景中创建小地图!

ThingJS数字孪生引擎

大前端 地图 物联网 可视化 数字孪生

模块一作业

王小森

CDH的安装(三)

大数据技术指南

CDH 7月日更

[架构实战营]模块一作业

xyu

#架构实战营

面试扣分点:什么是鸭子类型?

公安重点人员研判分析平台解决方案,智慧派出所

模块一作业

hello

架构实战营

367W字!京东商城Java架构师设计的亿级高并发秒杀手抄笔记

Java架构追梦

Java 架构 秒杀系统 亿级并发 京东商城

Hive学习笔记(二)

五分钟学大数据

hive 7月日更

成功收到美团、字节、蚂蚁Offer后!我把狂刷 5 遍的面试题整理出来了!

Java 程序员 架构 面试

一个成功的 Git 分支模型如何构建?

白亦杨

如何成长为高级工程师?

行者AI

SQL巩固测试题

Flychen

行业痛点今何在?产业安全专家共话云安全

腾讯安全云鼎实验室

云计算 云安全

架构师实战营模块一命题作业

郑立新

架构实战营

直播之变,5G为豹

脑极体

视频云峰会|“科技 X 艺术” 的颗粒度体验是什么?

阿里云CloudImagine

阿里云 AR 艺术 摄影 vr

模块一作业

燕燕 yen yen

#架构实战营

架构实战营 -- 模块1作业

发酵的死神

有道互动内容引擎Ceramics的业务实践

有道技术团队

信息技术 web tech 网易有道

FIL币价值与未来, FIL币价值预估

虚拟币合约交易平台搭建,永续合约交易系统源码

模块八作业

c

架构实战营

5W1H聊开源之Why——为什么要参与开源?

禅道项目管理

开源 项目

官宣!ElasticJob 3.0.0 版本正式发布

SphereEx

存储大师班 | RDMA简介与编程基础

QingStor分布式存储

云原生 对象存储 分布式存储

论文解读丨图神经网络应用于半结构化文档的命名实体识别和关系提取

华为云开发者联盟

文档 识别 图神经网络 半结构化文档 关系提取

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