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

jenkins中pod模版详解

前提是安装了kubernetes插件,并对接了k8s

在连接k8s的那配置

k8s插件pod模板配置

pod模板主要包含2部分的配置

  • pod基本信息,可以配置pod名称,docker镜像,pod label,pod的原始yaml以及rbac权限

  • container的详细配置

1、pod基本信息

  • 名称: Pod 模板的名称;
  • 命名空间: Pod 要启动到 Kubernetes 的 Namespace 名称;
  • 标签列表: 用于 Jenkins Job 在执行任务时候,指定的slave的标签;
  • 用法: 控制 Jenkins 如何在这台机器上安排构建。有两个值“尽可能的使用这个节点”和“只允许运行绑定到这台机器的Job”两个选项,“尽可能的使用这个节点”会当有别的节点也能执行任务时会交由别的节点执行,而“只允许运行绑定到这台机器的Job”则是只能由这个节点执行任务。
  • 父级的 Pod 模板名称: 如果之前已经创建了 Pod 模板,这里则可以使用 Pod 模板名称引入该模板,让其当做父级模板。
  • 容器列表: 一个 Pod 中可以设置多个 Docker 容器,这里可以对这些容器进行配置。
  • 环境变量: Pod 环境变量设置。
  • 卷: 可以设置 Pod 中各个容器的存储挂载。
  • Concurrency Limit: 允许在 Kubernetes 集群中创建 Pod 的最大值。
  • Pod Retention: Pod 的保留策略,默认会替换基本设置中的保留策略值。
  • 代理的空闲存活时间(分): 在执行完任务后,代理将空闲,设置此值可以设置该代理可以空闲多久,当到达时间后,Pod 就可能被删掉。
  • Pod 寿命(秒): 不用 Pod 执行 Jenkins Job 任务是成功还是失败,到达这个指定时间都会将 Pod 杀死。
  • 连接 Jenkins 的超时时间(秒): Slave Pod 连接 Jenkins Master 的超时时间。
  • 注解: Slave Pod 的 Annotation 注解值。
  • Pod 的原始 yaml: 原始 Pod 模板 yaml,这个可以作为底层模板,可以在 yaml 中设置上面界面中配置的全部参数(Pod Template 中可以只配置个 yaml,就不需要对一堆界面上的东西进行配置了 )。
  • Yaml merge strategy: 对于 yaml 文件和界面上的 Pod 可视化配置的操作规则,可以将 yaml 中的配置和界面中的配置进行合并或者界面的配置替换掉 yaml 中的配置。
  • Show raw yaml in console: 是否显示 Pod 模板信息输出到控制台日志中。
  • 拉取镜像的 Secret: 拉取镜像的 Secret。
  • Service Account: Kubernetes 一般是使用 RBAC 插件管理权限,如果想对 Pod 设置一定权限,就需要配置此值。
  • 节点选择器: 节点筛选,选择 Pod 只能启动在带有特定 Label 的节点上。
  • 使用自定义的工作空间卷: 自定义 Jenkins 执行任务时候,将构建的文本,拉取的源码,编译的项目存放的地址。
  • 工具位置: 可以设置 Maven、Docker 工具,一般不需要特别设置。

2、container信息

主要是设置 Pod 模板中,Pod 包含的 Container 的参数配置,可以设置多个镜像的镜像名称、工作目录、环境变量、CPU 与 Memory 限制等。

  • 名称: 容器名称。
  • Docker 镜像: Docker 镜像名称。
  • 总是拉取镜像: 是否每次执行都重新拉取镜像。
  • 工作目录: 设置在执行 Jenkins Job 时容器上的工作目录。
  • 运行的命令: 在容器启动后执行的命令。
  • 命令参数: 要执行的命令的参数。
  • 分配伪终端: 是否能带伪命令终端。
  • EnvVars: 环境变量。
  • 以最高权限运行: 是否提供 Kubernetes 中的特权。
  • CPU 需求: 预估程序使用CPU大小。
  • 内存需求: 预估程序使用内存大小,Kubernetes 会根据此值来判断一个 Pod 最多启几个这样容器。
  • CPU 限制: CPU使用上限
  • 内存限制: 内存使用上限
  • 健康检查 Exec action: 存活探针执行健康检测 Exec action 命令
  • Initial Delay Seconds: 初始化延迟的探针检测时间
  • Timeout Seconds: 探针延迟超时时间
  • Failure Threshold: 探针检测认为探测失败几次就为真正失败。
  • Period Seconds: 探针检测间隔。
  • Success Threshold: 探针检测认为探测成功几次就为真正成功。
  • 端口映射: Docker 的端口映射。

3、案例

img

img

img

img

4、pipeline使用模板

pipeline {agent { label 'template' }  // label 就能直接使用这个模板stages {stage('test') {steps {sh "pwd"sh "ls -lh ."}}}
}
http://www.jsqmd.com/news/667735/

相关文章:

  • Qt QGraphicsView实战:手把手教你实现一个可拖拽、碰撞检测的简易画板(附完整源码)
  • 编写程序制作成人速成会计班师资资质筛查统计工具,批量校验师资从业智能化资质,分类标注不合格机构数据。
  • 【AI面试临阵磨枪】解释 MoE(Mixture of Experts)架构原理与优势
  • 2026奇点大会现场实录:首个通过ISO/IEC 42001+ISO/IEC 27001双认证的AGI链上代理(AMA)如何重构AI治理逻辑
  • 汇川IS620N伺服原点回归模式实战解析:从35种模式到精准定位
  • 多行业案例验证 专业深井水位仪生产厂家推荐 - WHSENSORS
  • Qt6 qtmqtt编译实战:从源码到动态库的CMake之旅
  • [进阶配置] 从零到一:Windows 10 上 WSL2 的完整配置与优化指南
  • 【2026奇点大会独家前瞻】:AGI如何重构内容运营SOP的5大不可逆拐点?
  • 为什么87%的CFO不敢让AGI签署审计底稿?:一份来自SEC审查组内部备忘录的紧急警示
  • Python 多进程爬虫优化方法
  • STM32F1驱动JY61P六轴传感器:从协议解析到低功耗数据采集实战
  • 从一次线上故障复盘:我是如何用Ceph的PG状态和CRUSH规则定位数据迁移问题的
  • SENT vs PWM vs CAN:为你的汽车电子项目选对通信协议(成本/速度/复杂度全对比)
  • 别再折腾CUDA了!用Anaconda给集成显卡(集显)5分钟搞定PyTorch CPU版(附Pycharm环境配置)
  • Qwen2.5-7B微调实战:用LLaMA-Factory快速定制你的聊天模型
  • 从稀疏到高效:GoogLeNet InceptionV1架构设计思想与实战解析
  • SITS2026到底改了什么?对比SITS2023的7处架构级修订与2类被剔除的“伪AGI路径”
  • Http::post(‘http://external-service/pay‘); 的生命周期的庖丁解牛
  • 从单根谱线到频谱搬移:用Matlab的fft/pspectrum搞懂实信号与复信号频谱差异
  • CI/CD质量门禁(Quality Gate)介绍(指代码进入下一阶段(如合并到主分支、发布到生产环境)前,必须满足的一组自动化质量检查标准)
  • Android视频压缩终极指南:使用VideoCompressor释放手机存储空间
  • OFA-Image-Caption学术写作辅助:自动为论文图表生成LaTeX格式的描述文本
  • 【AGI司法适配白皮书】:7类新型AI行为如何被纳入现有刑法框架?最高法专家闭门研讨会纪要首次公开
  • 告别NFS烦恼:在Windows下用MobaXterm的TFTP给i.MX6板子快速更新内核(附防火墙避坑)
  • 你的 Vue v-model,VuReact 会编译成什么样的 React 代码?
  • Ostrakon-VL-8B实战体验:上传店铺图片,AI自动分析商品陈列与卫生合规
  • STM32F103C8T6驱动移远EC200N-CN 4G模块:从硬件接线到TCP透传的保姆级避坑指南
  • 遥感领域研究生投稿指南:如何根据2021-2022年JCR/中科院分区快速锁定目标期刊
  • AGI如何突破“学完即废”困局:5个已被Google DeepMind验证的在线增量学习框架