毕业论文
您现在的位置: 框架 >> 框架发展 >> 正文 >> 正文

技术干货解密最受欢迎的开源Serverl

来源:框架 时间:2025/1/7

作者:元毅

Knative是一款基于Kubernetes的开源Serverless应用编排框架,其目标是制定云原生、跨平台的Serverless应用编排标准。Knative主要功能包括基于请求的自动弹性、缩容到0、多版本管理、基于流量的灰度发布以及事件驱动等。

弹性是Serverless中的核心能力,那么Knative作为CNCF社区最受欢迎的开源Serverless应用框架,提供了哪些与众不同的弹性能力呢?本文将带你深入了解Knative的弹性实现。(说明:本文基于Knative1.8.0版本进行分析)

Knative提供了基于请求的自动弹性实现KPA(KnativePodAutoscaler),也支持K8s中的HPA,此外Knative提供了灵活的弹性扩展机制,可以结合自身业务需要,扩展弹性实现。这里我们也会介绍与MSE结合实现精准弹性以及与AHPA结合实现基于请求的弹性预测。

首先我们介绍Knative原生最具吸引力的弹性:KPA。

基于请求的自动弹性KPA

基于CPU或者Memory的弹性,有时候并不能完全反映业务的真实使用情况,而基于并发数或者每秒处理请求数(QPS/RPS),对于web服务来说更能直接反映服务性能,Knative提供了基于请求的自动弹性能力。要获得当前服务的请求数,KnativeServing为每个Pod注入QUEUE代理容器(queue-proxy),该容器负责收集用户容器并发数(concurncy)或请求数(rps)指标。Autoscaler定时获取这些指标之后,会根据相应的算法,调整Deployment的Pod数量,从而实现基于请求的自动扩缩容。

图片来源:

转载请注明:http://www.0431gb208.com/sjszyzl/8477.html