Jenkins配置Kubernetes Cloud(https)
摘要Jenkins连接低版本的Kubernetes(v1.11以下)时不需要进行验证,但新版本开启了https验证,需要为Jenkins制作访问apiserver的证书。安装Kubernetes插件登陆Jenkins后点击系统管理->插件管理->可选插件在右上角搜索框中输入kubernetes,在下方筛选出来的结果中找到“Kubernetes”后,点击直接安装:点击下方“安装完成后重启
摘要
Jenkins连接低版本的Kubernetes(v1.11以下)时不需要进行验证,但新版本开启了https验证,需要为Jenkins制作访问apiserver的证书。
安装Kubernetes插件
登陆Jenkins后点击系统管理->插件管理->可选插件
在右上角搜索框中输入kubernetes,在下方筛选出来的结果中找到“Kubernetes”后,点击直接安装:
点击下方“安装完成后重启(空闲时)”按钮,重启Jenkins后生效。
重新登陆后点击“系统管理->系统配置”,拉到最下方选择“新增一个云”,如下:
点击跳转后就会出现Kubernetes的配置界面,进行配置:
没配置证书前的连接测试是会失败的,因为新版本的apiserver接口都是通过https去访问的,所以我们需要在k8s的master节点上为jenkins服务器生成一个credential。
创建证书
登陆master节点,输入以下命令安装cfssl,此工具生成证书非常方便, pem证书与crt证书,编码一致可直接使用:
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
准备签名证书请求
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 绑定,这就赋予了该证书具有所有集群权限 。
创建证书和私钥
cfssl gencert -ca=/etc/kubernetes/pki/ca.crt -ca-key=/etc/kubernetes/pki/ca.key --profile=kubernetes admin-csr.json | cfssljson -bare admin
#会生成如下三个文件
admin.csr
admin-key.pem
admin.pem
然后生成pkc证书,通过openssl来将证书转换为pkc格式:
openssl pkcs12 -export -out ./jenkins-admin.pfx -inkey ./admin-key.pem -in ./admin.pem -passout pass:secret
然后将生成的jenkins-admin.pfx下载至桌面准备上传
配置Jenkins认证
使用如下命令查看服务证书key:
root@k8s-master:~# cat /etc/kubernetes/pki/ca.crt
将该内容复制到Jenkins界面的“Kubernetes服务证书key”的文本框中,如下:
然后点击凭据后面的添加,将刚刚生成的证书进行上传,如下:
选择文件jenkins-admin.pfk:
输入密码secret,后面内容可以不填写,点击添加即可:
选择 凭据,点击连接测试。
出现 Connection test successful 表示连接成功。
添加jenkins地址:
点击保存即可
本文参考链接:
参考文档
更多推荐
所有评论(0)