前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jenkins-1:kubernetes中部署的jenkins配置k8s集群连接

jenkins-1:kubernetes中部署的jenkins配置k8s集群连接

作者头像
千里行走
发布2022-04-28 16:23:43
2.7K0
发布2022-04-28 16:23:43
举报
文章被收录于专栏:千里行走千里行走

前置阅读:

kubesphere-8:kubesphere部署jenkins

目录:

(1).安装相关插件

(2).创建admin证书

1.安装证书工具

2.准备证书签名请求

3.创建证书和私钥

4.配置证书

(3).jenkins中配置kubernetes集群

(4).参考资料

(1).安装相关插件

然后重启jenkins,选中重启即可。

(2).创建admin证书

1.安装证书工具

安装cfssl 此工具生成证书非常方便, pem证书与crt证书,编码一致可直接使用

登录k8s master节点执行

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64

chmod +x cfssl_linux-amd64

mv cfssl_linux-amd64 /usr/local/bin/cfssl

wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64

chmod +x cfssljson_linux-amd64

mv cfssljson_linux-amd64 /usr/local/bin/cfssljson

wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64

chmod +x cfssl-certinfo_linux-amd64

mv cfssl-certinfo_linux-amd64 /usr/local/bin/cfssl-certinfo

2.准备证书签名请求

vim admin-csr.json

{

"CN": "admin",

"hosts": [],

"key": {

"algo": "rsa",

"size": 2048

},

"names": [

{

"C": "CN",

"ST": "HangZhou",

"L": "XS",

"O": "system:masters",

"OU": "System"

}

]

}

证书请求中的O 指定该证书的 Group 为 system:masters

而 RBAC 预定义的 ClusterRoleBinding 将 Group system:masters 与 ClusterRole cluster-admin 绑定,这就赋予了该证书具有所有集群权限 。

3.创建证书和私钥

cfssl gencert -ca=/etc/kubernetes/pki/ca.crt -ca-key=/etc/kubernetes/pki/ca.key --profile=kubernetes admin-csr.json | cfssljson -bare admin

最终生成以下3个文件:

admin.csr

admin-key.pem

admin.pem

4.配置证书

生成pkc格式证书

我们可以通过openssl来转换成pkc格式:

openssl pkcs12 -export -out ./jenkins-admin.pfx -inkey ./admin-key.pem -in ./admin.pem -passout pass:secret

将jenkins-admin.pfx 下载至桌面,备后续使用。

(3).jenkins中配置kubernetes集群

点击系统管理-> 系统配置,在系统配置页面拉到最下方:

进入配置集群页面,选择“Kubernetes”:

选择“Kubernetes Cloud Detail”:

配置如下部分:

kubernetes地址:https://kubernetes.default.svc.cluster.local

kubernetes服务证书key:cat /etc/kubernetes/pki/ca.crt的内容

kubernetes命名空间:default

然后点击添加凭据,上传之前下载的jenkins-admin.pfx文件,并输入密码:secret。

最后点击添加,返回前边页面选中刚才添加的这个凭据,点击链接测试,可以发现,jenkins和kubernetes连通了:Connected to Kubernetes v1.20.2。

最后保存,完成jenkins配置kubernetes的连通。

刚才创建的凭据在这里可以看到:

系统管理 -> Manage Credentials -> 点击jenkins

可以看到之前创建的全局凭据:

点进去看到内容:

Jenkins 地址:

http://jenkins.jenkins.svc.cluster.local:8080

Jenkins 通道:jnlp-pod会通过这个svc和jenkins进行交互通信。

jenkins-agent.jenkins.svc.cluster.local:50000

修改jenkins-pod的标签:

(4).参考资料

1.Kubernetes plugin for Jenkins

https://plugins.jenkins.io/kubernetes/#documentation

2.基于 Jenkins 的 CI/CD (一)

https://www.qikqiak.com/k8s-book/docs/36.Jenkins%20Slave.html

3.Jenkins基于https的k8s配置

https://www.cnblogs.com/xiao987334176/p/11338827.html

4.jenkins基于k8s动态增减jnlp-slave节点进行构建

https://blog.csdn.net/you227/article/details/81079167

5.Jenkins 和 Kubernetes -云上的神秘代理

https://www.jenkins.io/zh/blog/2018/09/14/kubernetes-and-secret-agents/

5.K8S - Jenkins在K8S下的持续集成

https://www.jianshu.com/p/aaa16f1566d7

6.jenkins-kubernetes-plugin 介绍

https://www.jianshu.com/p/873b19350c4d

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 千里行走 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档