首页 > 解决方案 > 如何使用 Azure Pipelines 为 kubernetes(在同一节点和横向扩展)设置自动缩放?

问题描述

我想在 Azure Pipelines 中设置自动缩放功能,以便使用 Kubernetes 部署容器。如果我想通过以下规则自动缩放,我该怎么做:

  1. 取决于没有。ServiceBus 消息队列中的消息数
  2. 它将首先在节点内扩展(最好在节点中设置最大 pod,因为它取决于线程号?)
  3. 如果在一个节点中达到最大 pod,那么它将向外扩展以使用另一个节点(也可以扩展以使用节点的最大 pod?即 1 个节点 3 个 pod,2 个节点 6 个 pod,总共 4/5 个 pod)

最后,如何使用 Azure Pipelines 进行设置?(以上仅在 Yaml 文件中设置,对吗?)

标签: azurekubernetesazure-pipelinesautoscalingazure-servicebus-queues

解决方案


我不认为有一种方法可以根据 ServiceBus 队列中的消息数量(至少是 kubernetes 的原生消息)进行扩展,也就是说 - 你应该使用 Horizo​​ntal Pod AutoscalerCluster Autoscaler。这些是原生 kubernetes 机制,用于根据 pod 上的负载扩展 pods\cluster。

它与 AKS 一起预览:https ://docs.microsoft.com/en-us/azure/aks/autoscaler

我见过的另一种方法:使用 cronJobs。只需使用 cronJobs 每分钟启动您的消息处理器并使其扩展。这是一种不需要大量配置的简单方法。您可以使用这种方法删除 pod 自动扩缩器,而只使用集群自动扩缩器,我没有使用过这种方法,但它看起来很有希望。


推荐阅读