繁体   English   中英

Azure,容器和水平缩放

[英]Azure, Containers and horizontal scaling

我是容器和 Kubernetes 的新手。 我在 Azure 中进行了大部分测试。

我创建了一个容器并根据负载水平缩放容器。 托管在我构建的容器中的端点将不得不处理突发的请求。 我希望容器大部分时间都处于空闲状态,但在我的测试中,它有时必须扩展到多个实例以处理请求的突发。

为了降低运行服务的成本,我想知道是否可以将容器的实例数量缩减为 0,同时保持在请求即将到来时“唤醒”容器的能力? 我怎么能做到这一点?

有许多与此功能相关的提案,但没有一个被纳入 kubernetes。

空闲/非空闲提案:

  1. https://github.com/kubernetes/kubernetes/pull/3247
  2. https://github.com/kubernetes/kubernetes/pull/29471
  3. https://github.com/kubernetes/kubernetes/issues/42255

这是一个难题,因为在启动服务时,传入的请求需要排队。

如果您有兴趣实现此功能,看起来已经为您完成了一些工作,但它不一定是您的用例的端到端解决方案: https://github.com/openshift /服务闲置者

这是另一个解决类似功能的项目: https://github.com/deislabs/osiris

AKS 在内部使用水平 pod 自动缩放器 (HPA) 来监控资源需求并自动缩放副本数量。 此外,kubernetes 的集群自动扩缩器根据 Pod 的不同需求,根据计算资源需求调整节点数量。

将 ACI 与 AKS 结合在一起形成了用于微服务的强大部署 model,其中 AKS 可用于微服务的典型部署,而 ACI 可用于处理突发工作负载,从而减少扩展管理方面的挑战并确保有效利用每秒使用成本 model。

此外,如果需要对现有 azure 应用程序进行基于事件触发的用例的扩展,那么 azure 功能可能是更好的选择。 此处,特定代码(函数)应根据要求仅针对特定事件或触发器调用,并按需创建、销毁 function 实例(按需计算 - function 即服务(FaaS))。 Azure function 避免了额外资源(VM)的分配,并且仅在 function 正在处理工作时才考虑成本。 解决方案可以结合这两种功能,例如 Azure function 应被触发以进行最少的处理/决策,并且反过来可以调用 Azure 容器实例的完整处理成本较低,以实现特定的突发处理成本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM