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

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

jenkins跨K8S集群实现jenkins slave动态构建_第1张图片

jenkins跨K8S集群实现jenkins slave动态构建_第2张图片 

jenkins跨K8S集群实现jenkins slave动态构建_第3张图片

jenkins跨K8S集群实现jenkins slave动态构建_第4张图片

jenkins跨K8S集群实现jenkins slave动态构建_第5张图片

 

二、创建podtemplate模板(重点)

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

错误配置示范:

jenkins跨K8S集群实现jenkins slave动态构建_第6张图片

 正确配置示范:jenkins跨K8S集群实现jenkins slave动态构建_第7张图片

 jenkins跨K8S集群实现jenkins slave动态构建_第8张图片

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

jenkins跨K8S集群实现jenkins slave动态构建_第9张图片 

验证:

pipeline脚本

jenkins跨K8S集群实现jenkins slave动态构建_第10张图片

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

 

 构建结果成功

jenkins跨K8S集群实现jenkins slave动态构建_第11张图片

 

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

  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博客

你可能感兴趣的:(运维,K8S,jenkins,kubernetes,运维)