如何对Jenkins主节点进行负载均衡? (不是HA)

问题描述 投票:0回答:1

我知道Jenkins是Master-Slave架构。并且可以将任务调度到从节点。

Master节点像控制器一样接收/处理来自Jenkins Portal、Jenkins CLI命令和api请求的请求。 Master收到请求后,可以根据Lable决定CI/CD任务在Master节点还是Slave节点上运行。主节点还托管 Jenkins Portal 并管理相关的配置文件和 pulgins。

以上情况是One Master to multi Slave节点架构:

但是,如果有大量用户/api请求到Master节点,就会非常繁忙。即使master可以将任务调度到其他slave节点,它也需要先处理来自user/api的请求。

因此,Jenkins能否实现Multi Master to Mult Slave节点架构:

我尝试在同一台机器上安装两个Jenkins Master,并让这两个Master使用同一个文件夹。一个是8080端口,另一个是8082端口。

经过实验,当我在8080端口上创建作业时,其他8082端口看不到这个作业。 我必须重新加载8082端口。

因此,似乎无法实现Master节点的负载均衡。

jenkins jenkins-pipeline jenkins-plugins
1个回答
0
投票

Jenkins 水平扩展的想法是添加更多独立的控制器,拥有自己的作业和代理,服务于不同的团队或不同的生命周期阶段。引用文档

横向增长是创建额外的 Jenkins 控制器来容纳新的团队或项目,而不是向现有控制器添加新的团队或项目。

Jenkins 没有共享作业或代理所需的任何组件。

但是要压倒运行在具有足够 CPU 和内存的专用服务器上的控制器是相当困难的。在每项工作中运行大量常规代码是一种方法。我的意思是很多

© www.soinside.com 2019 - 2024. All rights reserved.