Knative Serving 0.11.0 版本变更

简介:

前言

Knative Serving v0.11.0 版本已经于 12 月 11 号正式发布。本次版本继续优化activator负载均衡能力,这次解决了并发数为10的场景,测试结果显示大部分请求在0.14秒完成,具体细节见以下内容。

主要变更

改进在低并发下的负载均衡

点我查看设计文档(google docs)
回顾上一个版本的变更,为了让activator把请求更均匀发送到pod上,引入了two random choices算法,并且为了解决多个activator的场景,把pod分配给特定的activator来处理。举个例子,假如有2个activator,5个pod,每个activator会分配到2个pod,最后剩下的按顺序分配,也就是第一个activator负责3个pod,第二个负责两个pod。这样实现后,发现如果并发数是1的时候效果不错,但并发数是10的时候效果不好。

目前的问题是如何处理剩下的pod如何平均分配流量。作者新的方案是去掉了two random choices算法,改用knative里面的breaker来实现,通过设置容量达到平分的目的。具体算法如下,假设有2个activator,5个pod,并发数是10,则每个activator的容量为 5 * 10 / 2 = 25。另外每个pod的podIPTracker里面有个breaker,根据之前的分配策略,每个activator独自向两个pod发送,podIPTracker里面的breaker容量都是10,但还剩下一个pod,把这个pod的容量设置为10/2=5,也就是说对于这个pod,每个activator最多同时给它5个并发。

这次改动后,每次请求先判断这个pod的容量是否满了,如果没满会先发送给它处理,这样会让请求优先塞满第一个pod,才会到第二个pod。作者认为这样后面缩容时,可以针对空闲的进行缩容。

网络接入层引入Kourier

Kourier是第一个Knative原生的入口实现,直接调和knative网络层CRD到Envoy里面。它作为istio的替换品之一,更轻量的提供入口流量路由服务,目前在0.11版本中把Kourier作为Knative e2e集成测试的一个选项。

其他变更

扩缩容

  • 减少K8s services的数量,每个Revision3个减为2个,metrics service 改用 private service
  • 修复livenessProbe导致无法缩容的问题
  • 修复Target annotation 可以覆盖默认值
  • 在HPA的PodAutoscalers也汇报desired/actual指标

核心API

  • 改进镜像tag解析的错误信息
  • 允许在PodSpec使用 imagePullSecrets 
  • 分离 默认值和校验的webhooks

网络

  • 兼容 Istio 1.4,这个版本引入了正则表达式的长度限制 #6058
  • 集成 istio/client-go #5969
  • 当VirtualService调解失败后,更新LoadBalancerReady condition #6048
  • 端口命名方式遵循Istio约定 #5070

参考

文章来自于对knative release note的翻译和解读

目录
相关文章
|
机器学习/深度学习 数据采集 人工智能
Phi-3 技术报告:手机本地运行的高能力语言模型
Phi-3系列模型通过高质量数据训练与架构创新,实现小体积、高性能。38亿参数的phi-3-mini在手机端可达GPT-3.5水平,支持长上下文、多模态与高效推理,推动AI普惠化。
1196 1
|
缓存 Cloud Native 中间件
《聊聊分布式》从单体到分布式:电商系统架构演进之路
本文系统阐述了电商平台从单体到分布式架构的演进历程,剖析了单体架构的局限性与分布式架构的优势,结合淘宝、京东等真实案例,深入探讨了服务拆分、数据库分片、中间件体系等关键技术实践,并总结了渐进式迁移策略与核心经验,为大型应用架构升级提供了全面参考。
|
网络协议 Java API
SpringBoot整合Elasticsearch-Rest-Client、测试保存、复杂检索
这篇文章介绍了如何在SpringBoot中整合Elasticsearch-Rest-Client,并提供了保存数据和进行复杂检索的测试示例。
SpringBoot整合Elasticsearch-Rest-Client、测试保存、复杂检索
|
弹性计算 Ubuntu Linux
【3秒极速开服】Palworld/幻兽帕鲁服务器全自动部署极简教程(新手推荐)
本文将为您提供极简部署幻兽帕鲁专属服务器(Dedicated Server)的指引,「仅需轻点三次鼠标,3秒轻松开服」,和自己的朋友一起开心“抓帕鲁”。在帕鲁的世界中,与神奇的生物共度悠闲时光是一种无与伦比的乐趣。然而,有时官方服务器的不稳定性可能会给游戏体验带来延迟和卡顿。为了告别这些问题,部署自己的幻兽帕鲁服务器成为了一个不错的选择。通过搭建专属的游戏服务器(Dedicated Server),和小伙伴们获得一个专属的服务空间,获得顺畅流畅的游戏体验。
3655 1
|
存储 机器学习/深度学习 人工智能
YOLOv5永不缺席 | YOLO-Pose带来实时性高且易部署的姿态估计模型!!!
YOLOv5永不缺席 | YOLO-Pose带来实时性高且易部署的姿态估计模型!!!
1102 0
|
架构师 Java
成为java架构师实践之路
五步流程法.png 五步流程成为java架构师.png
813 0
SVN 常识
1、相关博客 http://my.oschina.net/u/1780920/blog/425792   2、 文件红色:表示文件没有添加到服务器 绿色:表示没有更新新的修改到服务器 普通黑色:表示和服务器同步   黄色感叹号(有冲突): 这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不 允许你提交,防止你的提交覆盖了别人的修改。
1652 0
|
4天前
|
云安全 人工智能 运维
当攻击全面Agent化,你的安全防御能否跟上AI Speed?
多起客户侧AK泄露事件应急的真实观察
1241 4