当前位置: 首页 > 面试题库 >

如何在docker swarm上配置自动缩放?

阎德宇
2023-03-14
问题内容

我想知道如何配置此工具,使其从最小数量的节点开始,并在需要时增长到最大数量的节点。

我应该使用其他工具还是docker swarm可以为我解决这个问题?


问题答案:

简短的答案 :目前尚无简便的方法可以使用Docker Swarm做到这一点。

Docker Swarm(或Swarm模式)不支持 自动缩放 机器。您需要为此使用另一种解决方案,例如docker- machine在基础架构上创建计算机(使用docker)并将它们链接到现有Swarm集群(使用docker swarm join)。

这将涉及大量脚本编写,但是其想法是监视群集的CPU /内存/网络使用情况(使用topmonit),一旦超出阈值(例如占群集总资源的 70%
),则触发脚本调用docker-machine以进行扩展集群。使用您还可以通过按比例缩小同样的想法 排水删除
节点(最好是Agent从现有的群群集节点),一旦你是低于下限阈值。

如果要使用此条件,则需要确保监视资源的持续使用,否则基础架构会因资源使用的频繁和突然更改而产生并破坏节点。

您可以为集群中的计算机定义下限和上限,以使事物处于受控状态。

请注意,Swarm至少需要3个Manager节点(推荐5个)来维护分布式共识算法的仲裁。因此 ,建议的最小下限是5个节点
Agent随着资源逐渐被服务使用,您可以随节点扩展)。

在某种程度上,您还可以查看Docker
InfraKit或Terraform,以进行
基础结构自动化 和运行状况 监视

更新 :现在有一个有前途的跨平台自动缩放器,它支持Swarm Mode 任务自动缩放
:Orbiter。尽管对于服务/机器自动缩放仍然没有现成的方法。



 类似资料:
  • 问题内容: 我正在尝试从SQS转移到RabbitMQ,以提供消息服务。我正在寻求建立稳定的高可用性排队服务。现在,我要使用集群。 在当前实现中 ,我有三台EC2机器,其中RabbitMQ的管理插件安装在AMI中,然后我明确地转到每台机器并添加 将HA属性设置为all并进行同步。在其上面的负载均衡器已分配了DNS。到目前为止,这件事有效。 预期的实现 :创建一个自动伸缩的集群环境,在该环境中,运行U

  • 问题内容: 在eclipse中,您可以单击任意行上的+ ,它将根据您在设置中选择的缩进方案自动缩进一行或一组行。 我真的在Netbeans中缺少此功能。有任何等效功能吗? 我所知道的+ + ,但它不够好。我想缩进一组线,而不是所有文件。 问题答案: 打开“工具” ->“ 选项” ->“ 键盘映射” ,然后查找名为“重新缩进当前行或所选内容”的操作,并设置所需的任何快捷方式。

  • 问题内容: 我不喜欢自动格式化如何弄乱空的循环主体,例如: 之前 后 如何配置eclipse不这样做? 问题答案: 转到-> ,然后在选项表中选择-> -> ,然后配置为您喜欢的内容。 为了将来参考,您可以在菜单中键入搜索词以找到该词的所有选项- 因此只需进入菜单并键入“格式”即可显示所有选项

  • 问题内容: 有没有办法重新缩进一段代码?我正在寻找类似于Eclipse(自动格式化/缩进)中的+ +的东西。 要清楚一点 我已经知道如何 在 Notepad ++ 之外 格式化XML (如上所述,Eclipse可以正常工作),因此我不需要一堆链接到其他XML格式化工具。 我专门处理XML和HTML。 理想情况下,键绑定与Eclipse中的键绑定一样方便,因此我不必中断我的工作流程。 我已经知道Np

  • 16. 自动配置 Spring Boot的自动配置机制尝试根据所添加的jar依赖来自动配置您的Spring程序。例如,如果HSQLDB在您的类路径上,而且您尚未手动配置任何数据库连接bean,那么我们会自动配置一个内存数据库。 您需要通过将@EnableAutoConfiguration或@SpringBootApplication注解添加到一个@Configuration类来激活自动配置。 应当

  • Spring Boot自动配置尝试根据您添加的jar依赖项自动配置Spring应用程序。 例如,如果HSQLDB在您的类路径上,并且您尚未手动配置任何数据库连接bean,则Spring Boot会自动配置内存数据库。 您需要通过将@EnableAutoConfiguration或@SpringBootApplication注解添加到其中一个@Configuration类来选择自动配置。 您应该只添