写点什么

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

评论

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

理论+实操,带你了解多沙箱容器运行时Kuasar

华为云开发者联盟

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

数据驱动运营增长

MobTech袤博科技

如何通过Java代码将 PDF 转为 HTML 格式

在下毛毛雨

Java html PDF 文档转换

云原生产品免费试用领取攻略,看看有哪些新玩法?

阿里巴巴云原生

阿里云 云原生

共享电单车生产厂家排名!怎么选?

共享电单车厂家

共享电动车厂家 共享电单车生产 本铯共享电动车 共享电单车厂家排名

云从科技进入百模大战,行业大模型成为胜负手

ToB行业头条

全网独一份微服务架构深度解析,连京东师哥都熬夜也要看完

小小怪下士

Java 程序员 微服务架构

涨姿势了!分享一个简单好用的源码调试方法

Java永远的神

程序员 程序人生 后端 jdk源码 架构师

构建系列之webpack窥探下

江湖修行

前端 Web webpack cli

为什么 GPU 能够极大地提高仿真速度?

思茂信息

gpu 仿真软件 计算机硬件 仿真技术

记一次redis主从切换导致的数据丢失与陷入只读状态故障

程序员小毕

数据库 redis 程序员 程序人生 后端

火山引擎DataLeap数据调度实例的 DAG 优化方案(三):技术实现

字节跳动数据平台

大数据平台 数据检索 DataLeap

关于大型语言模型的争论和局限

OneFlow

自然语言处理 AI大语言模型

Seata-go TCC 设计与实现

阿里巴巴云原生

阿里云 云原生 TCC Seata-go

含“AI”量超高!那些正在改变潮水方向的人丨创业邦2023年新青年创投榜单重磅发布

创业邦

救命稻草!阿里P8耗时5月打造的架构师速成手册,千金难求

程序知音

Java 分布式 java架构 Java进阶 后端技术

java异常体系

echoes

Amazon CodeWhisperer代码提示——Golang测评

衝鋒壹号

加速信创生态建设 焱融科技与优炫软件完成兼容性互认证

焱融科技

文件存储 高性能存储 #分布式存储

BSN-DDC基础网络详解(十二):算力中心开发者门户部署说明(1)

BSN研习社

@广州 智在粤港澳,Serverless 为创新提速

阿里巴巴云原生

阿里云 Serverless 云原生

AIGC持续火爆大模型争相推出,庞大市场造就算力供应模式演变

王吉伟频道

nvidia 算力 AI大模型 AIGC 生成式AI

虚拟显示器软件:BetterDisplay Pro 激活Mac版

真大的脸盆

Mac Mac 软件 显示器校准软件

北京站丨云原生技术实践营邀请您参加!

阿里巴巴云原生

阿里云 云原生 实践营

从“0”到“1”!低代码开发和云计算的碰撞,引领数字化转型浪潮!

加入高科技仿生人

云计算 低代码 数字化 数智化

智能的支柱:算法

TiAmo

算法 动态规划 分治 回溯算法 分支限界

自动驾驶成为汽车产业未来趋势,连接器行业迎来进一步发展

华秋电子

NFTScan:05.15~05.21 NFT 市场热点汇总

NFT Research

软件测试/测试开发丨Python 常用数据结构-字典

测试人

Python 软件测试 自动化测试 测试开发

中移链合约常用开发介绍(五)合约项目编译

BSN研习社

企业敏捷开发的三种落地实践途径

力软低代码开发平台

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