目的
本文详解介绍了容器版jenkins连接k8s的配置和使用详情。特别注意:必须用谷歌浏览器,而且非容器版jenkins是无法安装kubernetes插件的,所以无法连接k8s。搭建k8s集群教程
环境
操作系统版本: Ubuntu 18.04 TLS
软件版本: Jenkins 2.121.2
教程
安装k8s插件
系统管理->管理插件->可选插件, 搜索kubernetes plugin(没有选择kubernetes)并选择安装。
配置插件连接k8s集群
点击系统管理->系统设置->添加一个云, 在下拉菜单中选择kubernets并添加,如下图所示:
云kubernetes配置
注:Name值任意添加,Kubernetes URL值添加K8S apiserver连接地址和端口,jenkins URL值添加jenkins UI访问地址和端口,如下图所示:
添加云pod template并配置
配置云连接K8S集群的验证文件
1 | #在jenkins所在的node节点上操作 |
生产Client P12认证文件cert.pfx,并下载至本地windows
1 | openssl pkcs12 -export -out /opt/crt/cert.pfx -inkey /opt/crt/client.key -in /opt/crt/client.crt -certfile /opt/crt/ca.crt |
在云k8s中添加凭证
添加凭证–> 首先密码填写123–> 类型 –> Certificate –> Upload PKCS#12 certificate –> 上传证书 –> 选择文件–> cert –> 打开 –> 上传 –> 添加 –> 选择凭证
注:Upload certificate上次刚生成并下载至本地的cert.pfx文件,Password值添加生成cert.pfx文件时输入的密钥
添加命名空间
Kubernetes 命名空间中的值添加/root/.kube/config文件中cluster部分中name的内容(否则连接失败)
测试连接kubernetes集群
配置jenkins jnlp代理端口
系统管理->全局安全配置中的”代理”项,指定端口为50000
拍错
显示证书不对
Error testing connection https://192.168.0.91:6443: Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption
解决:
是因为添加平局那一界面的下面没有输入之前设置的密码(123)。输入密码、再次导入即可解决
显示无法连接
解决:
cert.pfx 可能没有生成好 ;或者ca.cert没有生成好,有空格, 重新生成一遍就好