Jenkins使用k8s的pod运行slave节点
Jenkins支持以Pod形式运行Slave节点,实现规模可伸缩的Jenkins Cluster
·
Jenkins使用k8s的pod运行slave节点
Jenkins支持以Pod形式运行Slave节点,实现规模可伸缩的Jenkins Cluster,需要安装插件“kubernetes”
通过jenkins/inbound-agent镜像创建的pod连接至Jenkins的master节点,需要在master节点上开启代理50000端口
一、安装插件
系统管理->管理插件->可选插件,搜索kubernetes plugin,安装完成后重启Jenkins!!!
二、创建证书秘钥
在master节点上生成对应的证书
#1、查看kubernetes的config文件
cat ~/.kube/config
#2、根据配置文件生成证书.替换引号内部的信息为config内相关value
echo "certificate-authority-data" | base64 -d > ca.crt
echo "client-certificate-data" | base64 -d > client.crt
echo "client-key-data" | base64 -d > client.key
#3、生成jenkins使用的cert.pfx,此处需要设置一个4位数以上的密码
openssl pkcs12 -export -out cert.pfx -inkey client.key -in client.crt -certfile ca.crt
ls
ca.crt cert.pfx client.key client.crt
三、Jenkins中添加凭证
把生成的cert.pfx证书上传至Jenkins,系统管理–凭证管理–Jenkins–全局凭据
四、在Jenkins上添加kubernetes集群
系统管理–系统配置–Cloud
填写k8s集群api-server的url,kubernetes服务证书为刚刚生成的ca.crt,凭据为刚刚添加的,填写Jenkins地址,点击连接测试验证
Jenkins开启系统代理:系统管理–全局安全配置,设置代理端口为50000
ss -anptu | grep 50000
tcp LISTEN 0 50 *:50000 *:* users:(("java",pid=1177,fd=391))
五、测试kubernetes
创建一个pipeline测试Jenkins是否可以在k8s上创建pod
新建任务–【自定义任务名称】,选择流水线(pipeline)
pipeline {
agent {
kubernetes{
inheritFrom 'jenkins-slave'
}
}
stages {
stage('Testing kubernetes......') {
steps {
sh 'java -version'
}
}
}
}
选择立即构建,查看任务的输出
在kubernetes集群上查看创建的pod,pipeline运行结束后,pod自动删除
kubectl get pod
NAME READY STATUS RESTARTS AGE
k8s-2-35rfg-mhq8w-g1jg8 1/1 Running 0 67s
更多推荐
已为社区贡献6条内容
所有评论(0)