当前位置: 首页 > news >正文

jenkins部署slave动态节点

1.制作slave镜像
1.下载agent.jar,访问自己的jenkins加上jnlpJars/agent.jar 下载jar包
http://jenkins.lapis.com/jnlpJars/agent.jar
2.然后把jar包放在slave节点要使用的镜像的/usr/share/jenkins/路径下
Dockerfile

ARG version=3192.v713e3b_039fb_e-6
ARG JAVA_MAJOR_VERSION=17
FROM harbor.laisontech.com/lapis/jenkins-2.432:s1
ARG user=jenkins
USER root
COPY agent.jar /usr/share/jenkins/agent.jar
RUN chmod +x  /usr/share/jenkins/agent.jar
COPY jenkins-agent /usr/local/bin/jenkins-agent
RUN chmod +x /usr/local/bin/jenkins-agent &&\ln -s /usr/local/bin/jenkins-agent /usr/local/bin/jenkins-slave
USER ${user}
ENTRYPOINT ["/usr/local/bin/jenkins-agent"]

3.制作上传镜像

docker build -t harbor.laisontech.com/lapis/jenkins-slave:1 ./
docker push harbor.laisontech.com/lapis/jenkins-slave:1

2.配置集群
1.进入jenkins的系统管理页面
在这里插入图片描述

2.进入节点管理
在这里插入图片描述

3.选择clouds,创建新的cloud
在这里插入图片描述

4.选择K8S,输入集群名创建集群
在这里插入图片描述

5.填写K8S地址,证书,命名空间,然后点击测试连接看是否会出现K8S版本号,出现说明连接正常。如果jenkins是部署在K8S集群内,则不需要证书和地址。
在这里插入图片描述

6.配置jenkins地址和jenkins通道,jenkins通道的默认端口是50000
在这里插入图片描述

3.配置pod模板
1.选择pod templates
在这里插入图片描述

2.选择添加pod模板
在这里插入图片描述

3.配置pod模板
在这里插入图片描述

4.配置挂载卷
在这里插入图片描述
在这里插入图片描述

5.配置pod寿命
在这里插入图片描述

4.配置使用root启动pod
1.一定要配置使用root启动pod,不然可能导致没有权限或权限错误
在K8S中创建一个sa和secert一般使用jenkins的sa就行

apiVersion: v1
kind: ServiceAccount
metadata:name: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: es        #根据实际环境设定namespace,下面类同
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: nfs-client-provisioner-runner
rules:- apiGroups: [""]resources: ["persistentvolumes"]verbs: ["get", "list", "watch", "create", "delete"]- apiGroups: [""]resources: ["persistentvolumeclaims"]verbs: ["get", "list", "watch", "update"]- apiGroups: ["storage.k8s.io"]resources: ["storageclasses"]verbs: ["get", "list", "watch"]- apiGroups: [""]resources: ["events"]verbs: ["watch", "create", "update", "patch"]- apiGroups: [""]resources: ["services"]verbs: ["get"]- apiGroups: ["extensions"]resources: ["podsecuritypolicies"]resourceNames: ["nfs-provisioner"]verbs: ["use"]- apiGroups: [""]resources: ["endpoints"]verbs: ["get", "list", "watch", "create", "update", "patch"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: run-nfs-client-provisioner
subjects:- kind: ServiceAccountname: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: es
roleRef:kind: ClusterRolename: nfs-client-provisioner-runnerapiGroup: rbac.authorization.k8s.io
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: leader-locking-nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: es
rules:- apiGroups: [""]resources: ["endpoints"]verbs: ["get", "list", "watch", "create", "update", "patch"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: leader-locking-nfs-client-provisioner
subjects:- kind: ServiceAccountname: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: es
roleRef:kind: Rolename: leader-locking-nfs-client-provisionerapiGroup: rbac.authorization.k8s.io
kubectl apply -f sa.yaml

2.配置容器模板的Service Account
在这里插入图片描述

5.配置job使用slave节点
1.进入job配置找到
在这里插入图片描述

http://www.xdnf.cn/news/700957.html

相关文章:

  • java 开发中 nps的内网穿透 再git 远程访问 以及第三放支付接口本地调试中的作用
  • 使用 find 遍历软链接目录时,为什么必须加 -L
  • 华为OD最新机试真题-按单词下标区间翻转文章内容-OD统一考试(B卷)
  • 【案例95】“小”问题引发的“大”发现---记一次环境修复
  • 十六进制数据转换为对应的字符串
  • Python 如何让自动驾驶的“眼睛”和“大脑”真正融合?——传感器数据融合的关键技术解析
  • Java+POI+EXCEL导出柱形图(多列和单列柱形图)
  • 外骨骼驾驶舱HOMIE——3500元让人形机器人1:1复刻人类动作:类似Mobile ALOHA主从臂的主从分离版
  • 深度学习入门:从零搭建你的第一个神经网络
  • Vue3对接deepseek实现ai对话
  • 系统性学习C语言-第十讲-操作符详讲
  • javascript中运算符的优先级
  • 如何把示例数据0.617、0.229、0.174保留两位小数,并在后面添加%处理,处理后的结果如下:61.7%、22.9%、17.4%
  • Java | 韩顺平 循序渐进学Java自用笔记---OOP高级(二)
  • Kaggle-基于xgboost的销量预测
  • Java基础 Day23
  • ROC和生存曲线的绘制-spss
  • 精准监测,健康无忧--XC3576H工控主板赋能亚健康检测仪
  • 数据库相关面试
  • 74道TypeScript高频题整理(附答案背诵版)
  • Python解析DOC文档表格
  • Ovito建模并正交化方法
  • 删除队列中整数
  • 股票收益率的计算
  • 新能源工厂环境监控系统如何提升电池生产洁净度
  • C# async/await 完全指南:从入门到实践
  • API 与 SPI
  • iframe三方页面嵌入
  • 【深度学习-pytorch篇】3. 优化器实现:momentum,NAG,AdaGrad,RMSProp,Adam
  • 张 测试大数据集的效果