azure - 如何使用 Azure Pipelines 为 kubernetes(在同一节点和横向扩展)设置自动缩放?
问题描述
我想在 Azure Pipelines 中设置自动缩放功能,以便使用 Kubernetes 部署容器。如果我想通过以下规则自动缩放,我该怎么做:
- 取决于没有。ServiceBus 消息队列中的消息数
- 它将首先在节点内扩展(最好在节点中设置最大 pod,因为它取决于线程号?)
- 如果在一个节点中达到最大 pod,那么它将向外扩展以使用另一个节点(也可以扩展以使用节点的最大 pod?即 1 个节点 3 个 pod,2 个节点 6 个 pod,总共 4/5 个 pod)
最后,如何使用 Azure Pipelines 进行设置?(以上仅在 Yaml 文件中设置,对吗?)
解决方案
我不认为有一种方法可以根据 ServiceBus 队列中的消息数量(至少是 kubernetes 的原生消息)进行扩展,也就是说 - 你应该使用 Horizontal Pod Autoscaler和Cluster Autoscaler。这些是原生 kubernetes 机制,用于根据 pod 上的负载扩展 pods\cluster。
它与 AKS 一起预览:https ://docs.microsoft.com/en-us/azure/aks/autoscaler
我见过的另一种方法:使用 cronJobs。只需使用 cronJobs 每分钟启动您的消息处理器并使其扩展。这是一种不需要大量配置的简单方法。您可以使用这种方法删除 pod 自动扩缩器,而只使用集群自动扩缩器,我没有使用过这种方法,但它看起来很有希望。
推荐阅读
- c - 在二叉树中查找节点时出现内存错误
- java - 对于以自动化方式捕获应用程序外部连接的任何建议?
- java - 在 Volley 中设置 cookie
- bash - 如何使用 sed 删除一段字符串?
- html - Github 页面:图像在 markdown 中正确显示,而不是在网站上
- python-3.x - 将 json 补丁应用于 mongodb 文档
- regex - 如何在 CMake 中删除字符串中的一行文本,解决 CMake 缺乏基于行的正则表达式匹配的问题?
- html - 我的 CSS #wrapper 样式需要使用 div 应用于 HTML 文档
- java - 对于休眠实体类,我可以从实例变量类中选择属性来设置列吗
- twilio - 无论如何都可以从 Twilio 接收消息并在单独的函数中处理它(而不是在 Flask 中)