53-Jenkins-动态生成slave节点


前言

  • 动态增减节点有ks8和docker cloud两种方式,本篇来学习使用docker cloud动态生成slave节点。

安装插件

需安装 Docker、Docker Pipeline

  • Manage Jenkins --> Mangage Plugins --> 可选插件 --> 输出框输入 Docker --> 勾选Docker、Docker Pipeline 安装插件

在这里插入图片描述

Docker配置操作配置

# 1.新建 /etc/systemd/system/docker.service.d/docker.conf 文件
[Service]
ExecStart
### Jenkins Slave 部署方法及配置教程 #### 1. 容器化部署 Jenkins Slave 通过容器技术(如 Docker 或 Kubernetes),可以实现更灵活的 Jenkins Slave 部署。以下是基于 Helm 的 Kubernetes 部署流程: - **Helm 部署方法** 使用 Helm Chart 可以快速完成 Jenkins节点及其 Slave 节点的部署。首先需要安装 Helm 并初始化环境[^1]。 ```bash helm repo add jenkins https://charts.jenkins.io helm install my-jenkins jenkins/jenkins --namespace jenkins --create-namespace ``` - **配置 Ingress** 如果需要外部访问,可以通过配置 Ingress 来暴露服务。 ```yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: jenkins-ingress spec: rules: - host: jenkins.example.com http: paths: - pathType: Prefix path: "/" backend: service: name: my-jenkins port: number: 8080 ``` - **动态创建 Agent Pod** 在 Kubernetes 中,Agent 是按需启动的临时 Pod。可以在 Jenkins 的全局配置中定义 K8S 插件的相关参数,指定镜像、资源请求以及挂载卷等信息[^5]。 --- #### 2. 裸机部署 Jenkins Slave 对于不依赖容器化的场景,可以直接在物理机或虚拟机上手动配置 Slave 节点- **编辑 systemd 配置文件** 修改 `/usr/lib/systemd/system/jenkins.service` 文件中的相关内容来调整 JVM 参数或其他选项[^4]。 ```ini [Service] ExecStart=/usr/bin/java -Djava.awt.headless=true \ -Djenkins.install.runSetupWizard=false \ -Xms256m -Xmx512m -jar /usr/share/jenkins/jenkins.war ``` - **连接至 Master** 利用 Java Web Start (JNLP) 协议让 Slave 注册到主服务器。执行如下命令即可建立远程链接[^3]。 ```bash java -jar agent.jar -jnlpUrl http://<master-ip>:8080/computer/<slave-name>/slave-agent.jnlp -secret <secret-key> ``` > 注意替换 `<master-ip>` 和其他占位符的实际值。 --- #### 3. macOS 下的特殊处理 如果目标平台为 Mac,则推荐使用专门构建好的工具链简化操作过程[^2]。 - **克隆仓库并编译二进制程序** ```bash git clone https://gitcode.com/gh_mirrors/je/jenkins-slave-osx.git cd jenkins-slave-osx && make build ``` - **注册 LaunchDaemon** 将生成的服务脚本拷贝到合适位置,并加载生效。 ```bash sudo cp com.example.jenkins.slave.plist /Library/LaunchDaemons/ sudo launchctl load -w /Library/LaunchDaemons/com.example.jenkins.slave.plist ``` --- #### 4. 故障排查与维护建议 当遇到无法正常通信的情况时,请参照官方文档定位具体原因;常见问题包括但不限于网络连通性差、认证失败或者权限不足等问题。 - 查看错误日志路径通常位于 `${JENKINS_HOME}/logs` 目录下。 - 若忘记初始管理员账户密码可通过以下方式恢复: ```bash sed -i 's/<useSecurity>true<\/useSecurity>/<useSecurity>false<\/useSecurity>/g' $JENKINS_HOME/config.xml systemctl restart jenkins ``` 最后重新登录界面后记得及时更新安全策略! ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习de测试小白

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值