Jenkins连接非自身所在的由二进制、Kubeadm、RKE等工具创建的Kubernetes 集群
适用于Jenkins连接二进制、kubeadm、rke等工具创建的K8S集群
1、点击系统管理->系统设置-添加一个云,在下拉菜单中选择kubernets并添加,如下图所示:
2.、写云kubernetes配置内容
注:Name值任意添加;
Kubernetes URL值添加目标K8S apiserver连接地址和端口;
jenkins URL值添加jenkins UI访问地址和端口;
如下图所示:
(大部分内容须在需要连接的集群的:~/.kube/config中查看)
[rancher@rmaster01 ~]$ vim ~/.kube/config
(因为rke必须使用非root帐户建立的K8S集群,所以这里是rancher账户操作,其它工具建立的K8S集群,可直接在root账户下操作)
1)名称:kubernetes:wh-rke-k8s
2)Kubernetes 地址:https://192.168.31.73:6443(目标K8S apiserver连接地址)
Jenkins 地址:http://192.168.31.62:30011
3、获取验证文件
1)获取~/.kube/config中certificate-authority-data的内容并转化成base64 encoded文件,生成:ca.crt
命令:echo xxxxxxxxx | base64 -d >ca.crt
echo LS0tL**********tLS0K | base64 -d >ca.crt
2)获取~/.kube/config中client-certificate-data的内容并转化成base64 encoded文件,生成:client.crt
命令:echo xxxxxxxxx | base64 -d >client.crt
echo LS0tL**********0tLQo= | base64 -d >client.crt
3)获取~/.kube/config中client-key-data的内容并转化成base64 encoded文件,生成:client.key
命令:echo xxxxxxxxx | base64 -d >client.key
echo LS0tL**********S0tCg== | base64 -d >client.key
4)生产Client P12认证文件cert.pfx,并下载至本地
[rancher@rmaster01 crt]$ sudo openssl pkcs12 -export -out /home/rancher/crt/cert.pfx -inkey /home/rancher/crt/client.key -in /home/rancher/crt/client.crt -certfile /home/rancher/crt/ca.crt
注:自定义一个password并牢记:123456
并下载cert.pfx至本地:
[rancher@rmaster01 crt]$ sz /home/rancher/crt/cert.pfx
5)在Jenkins云kubernetes中添加凭证,如下图所示:
添加凭证-》首先密码填写123456-》类型-》Certificate-》Upload PKCS#12 certificate-》上传证书-》选择文件-》cert-》打开-》上传-》添加-》选择凭证
注:Upload certificate上次刚生成并下载至本地的cert.pfx文件,Password值添加生成cert.pfx文件时输入的密钥
ID:wh-rke-Certificate
描述:wh-rke集群Certificate
4、配置kubernetes云
1)名称:kubernetes:wh-rke-k8s
2)Kubernetes 地址:https://192.168.31.73:6443
Jenkins 地址:http://192.168.31.62:30011
3)Kubernetes 服务证书 key:即复制ca.cert内容
[rancher@rmaster01 crt]$ cat ca.crt
-----BEGIN CERTIFICATE-----
MIICw**********SKYug=
-----END CERTIFICATE-----
4)Kubernetes 命名空间:
rke创建的K8S集群可以不填或者随意填,并不影响Jenkins连接集群
其它工具创建的K8S集群,需填入 ~/.kube/config文件中:cluster所对应的名称
5)凭据:
选择之前所创建的Certificate凭据:
ID:wh-rke-Certificate
描述:wh-rke集群Certificate
4、连接测试提示:Connection test successful,即表示连接成功。