如何使用 Azure Pipelines 为 kubernetes(在同一节点和横向扩展中)设置自动缩放?

How to set auto-scaling for kubernetes (both in same node and scale out) by using Azure Pipelines?

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

  1. depeneds on no. of messages in ServiceBus message queue
  2. it will scale inside a node first (better to set maximum pods in node as it depends on thread no.?)
  3. if reach maximum pods in a node, then it will scale out to use another node (can scale to use maximum pods of node as well?i.e. 3 pods for 1 node, 6 pods for 2 nodes without total 4/5 pods)

最后,如何使用Azure Pipelines进行设置? (以上只在yaml文件中设置对吧?)

我认为没有一种方法可以根据 ServiceBus 队列中的消息数量进行扩展(至少是 kubernetes 的本地消息),也就是说 - 你应该使用 Horizontal Pod Autoscaler with Cluster Autoscaler。这些是基于 pods.

上的负载扩展 pods\cluster 的原生 kubernetes 机制

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

我见过的另一种方法:使用 cronJobs。只需使用 cronJobs 每分钟启动您的消息处理器并使它们扩展。这是一种不需要大量配置的简单方法。你可以用这种方法放弃 pod autoscaler,只使用 cluster autoscaler,我没有用过这种方法,但看起来很有希望。