为什么阿里云使用开源KEDA扩展K8s?- cncf

21-04-03 banq

阿里云最初使用上游Kubernetes HPA和CPU和Memory作为两个指标。但是,随着用户群的增长和需求的多样化,很快发现了上游HPA的局限性:

  1. 对自定义指标(特别是对应用程序级细粒度的指标)的支持有限。上游HPA专注于容器级指标,例如CPU和内存,这对于应用程序来说太粗糙了。开箱即用不支持反映应用程序负载的度量标准,例如RT和QPS。是的,可以扩展HPA。但是,在应用程序级别指标方面,该功能受到限制。团队在尝试引入细粒度的应用程序级别指标时经常被迫分叉代码。
  2. 不支持从零缩放为零当不使用微服务时,许多用户都要求从零缩放为零。此要求不仅限于FaaS /无服务器工作负载。它为所有用户节省了成本和资源。当前,上游HPA不支持此功能。
  3. 不支持计划的扩展EDAS用户的另一个强烈要求是计划的扩展功能。同样,上游HPA不提供此功能,团队需要寻找非供应商锁定的替代方案。

基于这些要求,阿里云团队开始计划新版本的自动缩放功能。团队总结了三个自动缩放要求标准:

  1. 自动缩放功能应以简单的原子功能显示自己,而不附加到任何复杂的解决方案。
  2. 这些指标应该是可插入的,因此团队可以对其进行自定义,并在此基础上构建以支持各种需求。
  3. 它应该开箱即用地支持“缩放到零”。

经过详细评估,阿里云团队选择了KEDA项目,KEDA项目是由Microsoft&Red Hat开源的自动扩展功能,并已捐赠给CNCF。KEDA默认提供Kubernetes 几个有用的缩放器,并且开箱即用地支持缩放到零。它为应用程序提供了细粒度的自动缩放。它具有Scalar and Metrics适配器的概念,该适配器支持强大的插件体系结构,同时提供统一的API层。最重要的是,KEDA的设计仅关注自动缩放,因此可以轻松地将其集成为OAM特性。

 

                   

猜你喜欢