第一篇 jenkins怎么样部署k8s项目之Jenkins插件配置

想要在Jenkins上实现k8s自动化部署,首先在Jenkins上安装一个插件Kubernetes Plugin

Kubernetes插件是一个很棒的工具,可以将Jenkins从属设备动态配置为Kubernetes集群上的pod。您需要做的就是添加和配置Kubernetes Cloud作为Jenkins配置的一部分。

插件如图

安装插件的过程就不讲述了,安装完成后Kubernetes插件怎么配置呢?
配置Jenkins Kubernetes插件需要的哪些东西
1、首先要有一个k8s集群,查看
/etc/kubernetes/admin.conf
2、kubernetes url 一般还说地址就是:https://kubernetes:6443
3、连接Kubernetes证书, 哪里生成证书的证书,下面我会详细说

插件配置

系统管理 — 系统设置 — 最下面 新增一个云

在Kubernetes Cloud details…里面 配置K8s集群信息
需要填写的内容

名称
Kubernetes 地址
Kubernetes 服务证书 key
Kubernetes 命名空间
凭据
Jenkins 地址

OK,这些都是必要参数,其它参数可选,根据自己的需求来配置

名称,自己定、后面流水线pipeline中会用的到
Kubernetes 地址,就是/etc/kubernetes/admin.conf里面的server: https://172.25.42.235:6443 选项
命名空间,自己创建一个就可以
Jenkins 地址,就是当前Jenkins的访问地址

下面重点说Kubernetes 服务证书 key 和 凭据

/etc/kubernetes/admin.conf
文件中有三个值 certificate-authority-data 、client-certificate-data 、 client-key-data

把这三个值搞出来,解密

echo <certificate-authority-data>的值 | base64 -d > ca.crt
echo <client-certificate-data>的值 | base64 -d > client.crt
echo <client-key-data>的值 | base64 -d > client.key

好,我生成了三个文件,其中ca.crt就是Kubernetes 服务证书 key

[root@k8s-master01 .kube]# ll
总用量 24
drwxr-x---. 4 root root   35 4月  14 09:29 cache
-rw-r--r--  1 root root 1066 4月  28 08:53 ca.crt
-rw-r--r--  1 root root 1147 4月  28 08:54 client.crt
-rw-r--r--  1 root root 1675 4月  28 08:54 client.key
-rw-------. 1 root root 5593 4月  14 15:02 config
drwxr-x---. 3 root root 4096 4月  14 20:16 http-cache
[root@k8s-master01 .kube]# 

那么凭据怎么搞呢,请看下面操作,还用到刚生产的文件
根据这三个文件生成一个PKCS12格式的客户端证书文件

[root@k8s-master01 .kube]# openssl pkcs12 -export -out cert.pfx -inkey client.key -in client.crt -certfile ca.crt
Enter Export Password:
Verifying - Enter Export Password:
[root@k8s-master01 .kube]# 

记好自己设置的密码,下面要用到
再看凭据文件cert.pfx生成了

[root@k8s-master01 .kube]# ll
总用量 28
drwxr-x---. 4 root root   35 4月  14 09:29 cache
-rw-r--r--  1 root root 1066 4月  28 08:53 ca.crt
-rw-------  1 root root 3197 4月  29 11:06 cert.pfx
-rw-r--r--  1 root root 1147 4月  28 08:54 client.crt
-rw-r--r--  1 root root 1675 4月  28 08:54 client.key
-rw-------. 1 root root 5593 4月  14 15:02 config
drwxr-x---. 3 root root 4096 4月  14 20:16 http-cache
[root@k8s-master01 .kube]# 

好了,我们现在在Jenkins里面添加凭据
系统管理凭据配置

选择类型Certificate,范围全局 (Jenkins, nodes, items, all child items, etc),上传证书cert.pfx,设置密码,保存完成

配置Jenkins Kubernetes插件 凭据选刚刚添加的就可以了

搞了半天,测试一下吧

版权声明:本文为作者原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原创文章,作者:老C,如若转载,请注明出处:https://www.code404.icu/485.html

发表评论

登录后才能评论