AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

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

评论

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

机器人自主学习新进展,百度飞桨发布四足机器人控制强化学习新算法

百度大脑

人工智能 飞桨

分享一套golang实现的 IM 系统,一键部署服务端,客户端SDK全平台支持,可以替代IM云服务

OpenIM

用时三个月,阿里P8大佬总结出来的最深《Java性能优化全攻略》限时分享!

Java 架构 面试 程序人生 编程语言

运用贝塞尔曲线绘制笔锋效果

ZEGO即构

音视频 笔锋实践 贝塞尔曲线

数字化加速时刻,天津港解锁了“天工开物”新篇

脑极体

认识流媒体协议,从 RTSP 协议解析开始!

声网

协议 RTSP

手把手带你玩转 JS | 引航计划|大前端

三掌柜

大前端 引航计划 引航 技术专题合集

看完阿里大牛的数据结构学习笔记,我直接手撕了500道Leetcode题

Java 程序员 架构 面试 算法

还在郁郁寡欢?啃完666页Java面试高频宝典,十月保你定级腾讯T3-2

Java 架构 面试 程序人生 编程语言

自我提升:高效能人士的 7 个习惯学习笔记(二)

程序员架构进阶

效率 自我管理 自我提升 10月月更

看山聊 Java:检查日期字符串是否合法

看山

Java 10月月更

流计算 Oceanus 限量1元秒杀,立省2000元

腾讯云大数据

中国移动5G消息开发者社区 | 主题沙龙直播预约:5G消息在文旅场景的应用探讨

5G消息

5G 5G消息 中国移动5G rcs

代码检查规则:Java语言案例详解

百度开发者中心

Java 最佳实践 案例分享 代码检查规则

Python代码阅读(第34篇):列表元素出现频率字典

Felix

Python 编程 Code Programing 阅读代码

引航计划|大前端|优质合集手把手带你玩转移动开发

三掌柜

大前端 引航计划 引航

Serverless 工程实践 | Serverless 应用优化与调试秘诀

阿里巴巴云原生

阿里云 Serverless 云原生

接棒运动赛事!工厂里也有热血竞技?

白洞计划

记不住源码?掌握这套方法,Alibaba必有你一席之地!

Java 架构 面试 程序人生 编程语言

自动驾驶混战,剑气二宗谁能笑傲江湖?

脑极体

如何区分封闭图形的内部和外部

Changing Lin

10月月更

手把手教你使用Studio Lite + Digtal car!助力智能汽车场景、轻应用开发更轻松!

SOA开发者

内网域渗透分析(实战总结)

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

偷瞄大佬书签栏,16个C++必备学习网站,建议收藏

奔着腾讯去

c++

软件架构思考

轻口味

android 架构设计原则 10月月更

携程 x StarRocks:高效支持高并发查询,大幅降低人力和硬件成本

StarRocks

大数据 数据分析 高并发 StarRocks

Hold the Door!区块链底层平台流控分析

趣链科技

区块链 流量控制 底层平台

都2021年了,还在算法上折跟头?这本《字节跳动面试必问算法秘籍》送给你!

Java 架构 面试 程序人生 编程语言

阿里P8最全总结PDF:Tomcat+虚拟机+Spring全家桶+MyBatis源码等

Java 架构 面试 程序人生 编程语言

新一代容器平台ACK Anywhere,来了

阿里巴巴中间件

阿里云 云原生 中间件 ACK ACK Anywhere

必须得会的汽车ECU研发基础—底层软件介绍4

SOA开发者

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