Jenkins分布式集群设计方案

背景:

       大型研发团队各业务线团队自己都会维护各自的Jenkins,且相互是不打通的,存在资源重复使用的问题;Jenkins-Server部署都是单点,一旦Server故障,需要人工介入启动服务恢复,Node存在需要重新接入与配置的风险;日常的Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满足大家各式的集成需求。通过配置jenkins分布式环境,将不同的任务下发到多台机器执行,提高jenkins处理能力,但是无法解决服务分布式部署。下面方案能有效的解决资源共享,和Jenkins-Server灾备的问题的集群搭建方案

方案介绍:

  • 整体方案采用LVS(负载均衡+高可用,采用技术:ipvsadm+keepalived;工作模式为:DR加权轮询,即:DR+wrr);
  • 为客户提供服务,其中LSV的主调度机(LVS主)提供数据源(即:NFS)供集群中所有Jenkins Server使用;
  • LVS从做热备调度机,同时做主数据源的异地备份(采用技术:Rsync+Inotify);
  • 所有Jenkins Server需要挂载LVS主提供的数据源工作(采用技术:Linux Mount 挂载NFS),同时所有Jenkins Server需要配置虚拟VIP完成与客户机数据交互。

解决问题:

1、服务资源共享,避免重复建设;

2、Jenkins-Server多服务灾备,故障自动修复;

方案架构图:

注:有更好的实践方式,欢迎交流沟通;

猜你喜欢

转载自blog.csdn.net/weixin_42343424/article/details/83864723