温馨提示×

centos jenkins怎样进行集群搭建

小樊
37
2025-11-22 03:09:23
栏目: 智能运维

CentOS 上搭建 Jenkins 集群的实用步骤

一 架构与准备

  • 架构模式:采用 Master–Agent(主从) 分布式构建。Master 负责调度与界面管理,Agent 负责实际构建;Agent 节点无需安装完整 Jenkins,仅安装 JDK 与项目所需工具(如 Git、Maven、.NET SDK 等)。Master 与 Agent 之间需网络互通。为提升可用性与扩展性,可在前端放置 Nginx/HAProxy 做负载均衡与健康检查。Jenkins 2.x 建议使用 Java 11/17/21。防火墙需放行 8080(Web)与 50000(JNLP/agent 通信)端口。

二 安装与初始化 Master

  • 在线 YUM 安装(推荐)
    1. 安装 JDK(以 Java 11 为例):yum install -y java-11-openjdk-devel
    2. 导入 Jenkins 官方仓库并安装:yum install -y jenkins
    3. 启动并设置开机自启:systemctl start jenkins && systemctl enable jenkins
    4. 访问:http://<MASTER_IP>:8080,按向导完成初始化(解锁、安装插件、创建管理员)。
  • Docker 方式(便于快速搭建与迁移)
    1. 安装 Docker:yum install -y docker && systemctl start docker && systemctl enable docker
    2. 启动 Master(映射 808050000,持久化数据卷):
      docker run -d \
        --name jenkins-master \
        -p 8080:8080 -p 50000:50000 \
        -v /usr/local/jenkins:/var/jenkins_home \
        jenkins/jenkins:lts
      
    3. 查看初始化密钥:docker logs jenkins-master,随后在页面完成设置。

三 添加与管理 Agent 节点

  • 方式 A(推荐)—— SSH 启动 Agent
    1. 在 Master 生成密钥并免密登录 Agent:
      ssh-keygen
      ssh-copy-id <AGENT_USER>@<AGENT_IP>
      
    2. 在 Jenkins 管理界面:Manage Jenkins → Manage Nodes and Clouds → New Node,类型选 Permanent Agent,填写:
      • NameDescription
      • Number of executors(并发构建数)
      • Remote root directory(如:/home/jenkins
      • Labels(如:linux maven
      • Usage:Use this node as much as possible
      • Launch method:Launch agents via SSH
      • Credentials 中选择或新增 SSH Username with private key(私钥为 Master 的 id_rsa 内容)
    3. 保存后,首次连接按提示 Trust SSH Host Key,并启动代理。
  • 方式 B —— JNLP 启动 Agent
    1. 在 Agent 下载 agent.jarwget http://<MASTER_IP>:8080/jnlpJars/agent.jar -O /tmp/agent.jar
    2. 在 Master 节点页面获取该 Agent 的 JNLP 启动命令(包含 -jnlpUrl-secret),在 Agent 上执行:
      java -jar /tmp/agent.jar \
        -jnlpUrl http://<MASTER_IP>:8080/computer/<AGENT_NAME>/slave-agent.jnlp \
        -secret <SECRET> \
        -workDir "/home/jenkins"
      
    3. 启动后在 Master 节点列表看到 Agent 在线
  • 节点环境要点
    • 安装与 Master 匹配的 JDK,以及项目依赖(如 Git、Maven 等)。
    • 若工具路径与 Master 不一致,可在节点 “工具位置(Tool Locations)” 显式指定 JAVA_HOME、MAVEN_HOME、GIT 等路径,避免找不到命令。

四 任务与负载均衡配置

  • 任务并发与节点选择
    • 在 Job 配置中勾选 “在必要时并发构建”,并使用 “限制项目的运行节点” 指定标签表达式(如:linux && mavenagent-02 || agent-03),实现按标签调度与并行执行。
  • 前端负载均衡(可选)
    • 部署 Nginx/HAProxy,将 8080 端口的请求按权重/最少连接分发到多个 Master(如有多 Master 高可用场景),并对 50000 做健康检查,确保 Agent 长连接稳定。

五 验证与运维要点

  • 验证
    • Manage Nodes 页面查看 Agent 在线/忙碌 状态;在 Job 控制台输出中确认 构建节点名称日志 正常;多节点并发构建按预期执行。
  • 运维
    • 安全:在 Configure Global Security 启用安全策略,限制匿名访问,按最小权限分配凭据与权限。
    • 监控与备份:收集 Jenkins 日志 与系统指标,必要时使用 Prometheus + Grafana 监控;定期备份 JENKINS_HOME(如 /usr/local/jenkins 或容器内映射目录)。

0