CI/CD系列之 Jenkins [3] - 添加k8s集群

我们需要添加节点来完成Jenkins的任务调度,由于我们的Jenkins本身就是部署在K8s集群中,所以我们可以直接在Jenkins中添加k8s集群资源,让Jenkins发起任务时可以动态生成一个Pod来完成任务的构建或部署。

配置步骤

1、"Jenkins管理" -> "节点与云管理"

2、在Jenkins中,k8s属于cloud

3、同集群配置以下即可

该配置有连接测试按钮,点击显示成功保存即可

简单任务测试

完成了上述操作之后,我们就可以在后续使用Pipeline实现各种任务了,这里我们可以创建个简单的demo来测试下:

1、测试一个名为1st_demo且类型为pipeline的项目

2、由于是简单测试,Pipeline内容如下:

pipeline {
    agent {
        kubernetes {
            // Rather than inline YAML, in a multibranch Pipeline you could use: yamlFile 'jenkins-pod.yaml'
            // Or, to avoid YAML:
            // containerTemplate {
            //     name 'shell'
            //     image 'ubuntu'
            //     command 'sleep'
            //     args 'infinity'
            // }
            yaml '''
apiVersion: v1
kind: Pod
spec:
  containers:
  - name: shell
    image: ubuntu
    command:
    - sleep
    args:
    - infinity
'''
            // Can also wrap individual steps:
            // container('shell') {
            //     sh 'hostname'
            // }
            defaultContainer 'shell'
        }
    }
    stages {
        stage('Main') {
            steps {
                sh 'hostname'
            }
        }
    }
}

任务很简单,基于Ubuntu镜像中创建一个容器,执行hostname

3、执行任务
点击执行按钮

4、任务查看