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

如何修改Jenkins用于控制从站的负载平衡行为?

盖锦程
2023-03-14
问题内容

我们将Jenkins用于我们的CI构建系统。我们还使用“并行构建”,以便詹金斯将独立构建每个变更。这意味着我们经常有5到6个相同作业的构建同时运行。为了适应这一点,我们有4个奴隶,每个奴隶都有12个执行者。

问题在于,詹金斯并没有真正在其奴隶之间实现“负载平衡”。它尝试在先前建立在相同的从属服务器上构建作业(大概是为了减少从源代码控制同步的时间)。这是一个问题,因为詹金斯将在同一个从属服务器上(或更可能在两个从属服务器之间)构建我们构建的所有6个实例。一台构建机器陷入瘫痪,运行非常缓慢,而其他机器则处于闲置状态。

是否有插件或其他东西会改变Jenkins用于控制其奴隶的负载平衡行为?


问题答案:

如果找不到自动执行此功能的插件,请按照以下说明进行操作:

  • 安装节点标签参数插件
  • SLAVE 参数添加到您的工作
  • 限制作业继续运行 ${SLAVE}
  • 添加将执行以下操作的触发器作业:

    • 通过系统Groovy脚本分析负载分布,并决定在哪个节点上开始下一个构建。
    • 通过将适当的值分配给 SLAVE 参数,使用Parametertized Trigger插件在该节点上调度构建。 __

为了分析负载分配,您需要安装Groovy插件并熟悉Jenkins Main ModuleAPI。这是一些有用的初始指针。



 类似资料:
  • 我的情况是,我们目前正在编写一个使用Node的在线应用程序。服务器端的js和WebSocket侦听器。我们有两个不同的部分:一个是服务页面,另一个是使用节点。js和express ejs,另一个是完全不同的应用程序,只包含套接字。用于WebSocket的io库。现在我们来讨论WebSocket部分的可伸缩性问题。 我们发现的一个解决方案是使用redis并在服务器之间共享套接字信息,但由于体系结构的

  • 是否可以在没有负载均衡器的情况下在库伯内特斯中使用入口控制器功能(在数字海洋中)。 是否有其他机制允许域名映射到Kubernetes服务;例如,如果我在Kubernetes集群上托管两个WordPress站点: == 域名如何在不显式输入端口号的情况下映射到容器端口8080。 感谢任何帮助。

  • AWS推出了应用程序负载平衡器,可以进行基于路径的路由。是否可以将经典负载平衡器放在应用程序负载平衡器之后。 示例:假设我们有两个经典的负载平衡器。应用程序负载平衡器将流量路由到所有url(如应用程序负载平衡器/前端)的第一个经典负载平衡器,并将流量路由到所有url(如应用程序负载平衡器/后端)的第二个经典负载平衡器* 目前,似乎我们只能将主机置于应用程序负载平衡器之后。是否可以将负载平衡器置于应

  • 我很难理解与Ingress Nginx一起使用时负载平衡器的作用。 我知道负载平衡器在多个节点上分发请求。 i、 假设我有两个节点A和B,它们负责处理示例中的请求。com。 因此,负载均衡器将接受对的请求,并在定义的算法的帮助下在它们之间分配。 我也了解什么是API网关, i、 例如,我有一个订单服务和另一个支付服务,这样API网关将获得示例的请求。com,它将把订单请求移交给服务部门,将付款移交

  • 我有两条溪流。一个是事件流,另一个是数据库更新流。我想用从DB更新流构建的信息丰富事件流。 事件流非常庞大,使用5个字段进行分区。这给了我很好的分配。DB流不那么喋喋不休,并且使用两个字段进行分区。我目前正在使用两个公共字段连接这两个流,并使用flapMap来丰富第一个流。flatMap运算符使用ValueState维护状态,状态由两个公共字段自动键入。 除了实现自定义逻辑来手动提取键并更新维护状

  • 问题内容: 在docker swarm模式(docker engine 1.12+)下,对于该服务,负载均衡算法是什么? 它可插入吗? 假设它是轮询的,那么高级负载均衡器是否仍然需要它?由于高级负载均衡器正在使用任何路由算法,因此负载将平均分配到每个节点。 问题答案: 该算法目前是循环的,我还没有迹象表明它是可插入的。较高级别的负载均衡器将允许拆卸群集节点进行维护,但是在群集模式下,循环算法将撤消