jenkins跨K8S集群实现jenkins slave动态构建

一、jenkins连接k8s集群(略,网上有很多种方法)

 

 

二、创建podtemplate模板(重点)

这里博主一直踩坑,花费两天才成功解决,因为配置错误导致k8s创建pod的时候一直出现 terminating 状态

错误配置示范:

 正确配置示范:

 

容器的名称必须是  jnlp
镜像是 jenkins/inbound-agent

 

验证:

pipeline脚本

pipeline {
  agent {
      label 'jnlp-slave'
  }
  stages {
      stage('test') {
          steps {
              script {
                  println "test"
              }
          }
      }
  }
}

 

 构建结果成功

 

## 附加排错方法,各种查看日志

  1. 查看容器构建的描述信息   kubectl describe pods pods-name  -n devops
  2. 查看pod是构建在哪台机器上,然后在node节点查看容器启动日志 docker logs -f container_name
  3. jenkins上 catalina.out 日志

参考博客:Jenkins master位于k8s集群外,实现jenkins slave的动态构建_木讷大叔爱运维的博客-CSDN博客