11.6 基于Knative Serving的自动伸缩

对于Knative Serving组件,最重要的特性就是自动伸缩的能力。目前伸缩边界支持从0到无限,容许通过配置进行设置。Knative目前是自己实现的Autoscaler,Revision对应的pod由Kubernetes部署进行管理,由pod上的工作负载上报metrics,汇总到Autoscaler进行分析判断和决策,在需要时修改replicas数量来实现自动伸缩。

自动伸缩其实本质上是用于提高云上使用资源的弹性、提供按照使用量计费的能力,以向用户提供高性价比的云服务,其有以下两个特点:

·请求驱动:根据请求量动态伸缩,目前通过统计系统当前的并发请求量和配置中的基准值比较,做出伸缩决策。

·伸缩至零:无流量时完全释放资源,有请求时重新唤醒。