jenkins集群搭建和负载均衡配置

2019独角兽企业重金招聘Python工程师标准>>> jenkins集群搭建和负载均衡配置
文章图片

构建任务多的时候台jenkins配和几个worker压力大 所以可以配置多台jenkins,既然多机器集群环境,那就不可避免的出现负载均衡的问题需要处理。有两种选择:一,有我们编程实现,将指定的任务发送到指定IP的jenkins上。二,使用jenkins自己的集群管理功能,实现负载均衡。
这里我们先介绍第二种,有jenkins管理集群。
1.环境搭建:
下载jenkins的war包放到tomcat webapps下

wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war mv jenkins.war ROOT.war

我这里把jenkins作为ROOT应用启动,这个改不改无所谓
浏览器访问tomcat地址完成安装,第一次安装需要秘钥验证身份,根据说明去服务器对应路径下找到复制粘贴就好。
2.配置集群
进入jenkins控制面板,点击左侧菜单栏的系统管理选项,然后选择管理节点,进入节点管理页面。
jenkins集群搭建和负载均衡配置
文章图片

jenkins集群搭建和负载均衡配置
文章图片

节点管理页面点击左侧菜单栏的新建节点,填入节点名称选择固定节点,点击ok。
接下添加节点的基本信息:
就下图中需要注意的这几个地方说明一下
jenkins集群搭建和负载均衡配置
文章图片

并发构建数:构建的并发量,就是启动worker的数量,根据机器配置设置,推荐2核4G 为5-10
远程工作目录:这个slave节点执行远程构建的时候的工作目录,具体没有太多要求,保证磁盘够用就好
用法:分为尽可能使用这个节点和只运行绑定到这台机器的job,负载均衡策略,一般可设为尽可能使用这个节点,由jenkins-master来分配
启动方式:分为两种,一种是jenkins-master机器通过ssh登录slave来下载启动slave上的代理,第二种是通过启动命令来调用slave上的代理,
第二种使用命令的话必须提前人为在slave机器上启动jenkins代理,这里我选择第一种通过ssh直接操控slave
选择ssh方式后需要配置IP ssh的用户名密码
Host Key Verification Strategy:这里验证选择 Non verifying Verification Strategy 不使用策略验证
这个时候点击右边的高级按钮,高级菜单里有两个地方需要注意。
端口:默认为22 根据实际情况修改 安全组 防火墙 等对端口的开闭限制
Java路径:对于Java路径,我原以为在slave机器上配置Java环境变量后这个地方不填用默认值应该也可以,但是查看启动日志发现,如果这个Java路径为缺省,jenkins代理会在slave机器上通过遍历系统安装jdk可能的默认绝对路径,遍历一遍找不到就会报异常,停止执行。
因此这个缺省值仅能在slave机器上的jdk是通过yum或者rpm包安装,并且在系统默认路径下的时候jenkins的代理才可以找到jdk,当slave机器上的jdk是通过解压安装,并且在用户指定的其他路径下时jenkins代理是找不到的。所以建议这个位置一定要配置jdk的路径。
这个路劲配置也必须配置到可执行Java命令为止,比如说我的JAVA_HONE为/usr/local/jdk1.8.0_152
这个位置必须配置为:/usr/local/jdk1.8.0_152/bin/java
然后最后有个节点属性可以配置Git maven这些工具的位置,也可以不指定。
3.点保存以后就可以在节点列表页面看到新添加的slave节点,第一次启动需要时间稍微长一点,耐心等待,可以点进去看日志,了解启动过程中的具体信息,发现问题可以及时定位。
好了到此为止,我们的方案二已经介绍完了,改天介绍方案一的几种开发思路。

2.构建定时清理任务
执行脚本
#!/bin/bash/bin/rm -rf /export/app/jenkins/jk_home/workspace/* ssh admin@[agent_ip] "cd /export/app/jenkins/jk_home/workspace; /bin/rm -rf ./*; exit" ssh admin@[agent_ip] "cd /export/app/jenkins/jk_home/workspace; /bin/rm -rf ./*; exit" ssh admin@[agent_ip] "cd /export/app/jenkins/jk_home/workspace; /bin/rm -rf ./*; exit"

master机器添加定时任务
crontab -e0 0 2 * * sh /export/app/jenkins/script/auto_clean.sh > /dev/null 2>&1 &:wq


【jenkins集群搭建和负载均衡配置】转载于:https://my.oschina.net/mrpei123/blog/1975952

    推荐阅读