1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

Jenkins上添加KubernetesPlugin插件

1987web2023-10-06WEB开发196

Kubernetes For Jenkins

前言

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

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

插件如图

Kubernetes Plugin

安装插件的过程就不讲述了,安装完成后Kubernetes插件怎么配置呢?配置Jenkins Kubernetes插件需要的哪些东西

  1. 首先要有一个k8s集群,查看 /etc/kubernetes/admin.conf
  2. kubernetes url 一般还说地址就是:https://kubernetes:6443
  3. 连接Kubernetes证书。 哪里生成证书的证书,下面我会详细说

插件配置

在"Manage Jenkins" - "Manage Nodes and Clouds"打开Kubernetes的配置

Manage Nodes and Clouds

选择"Configure Clouds"

Configure Clouds

选择"Add a new cloud",添加一个"Kubernetes"配置

Add a new cloud

  • 名称:自己定、后面流水线pipeline中会用的到
  • Kubernetes 地址就是~/.kube/config里面的server: https://192.168.81.173:6443 选项
  • Kubernetes 服务证书 key
  • Kubernetes 命名空间命名空间,自己创建一个就可以
  • 凭据
  • Jenkins 地址Jenkins 地址,就是当前Jenkins的访问地址

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

服务证书 key 和 凭据

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

~/.kube/config文件中有三个值certificate-authority-data
client-certificate-data
client-key-data把这三个值搞出来,解密echo的值 |  base64 -d > ca.crtecho的值  base64 -d | > client.crtecho的值  base64 -d | > client.key好,我生成了三个文件,其中ca.crt就是Kubernetes 服务证书 keyca.crt
client.crt
client.key

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

opensslpkcs12-export-outcert.pfx-inkeyclient.key-inclient.crt-certfileca.crtEnterExportPassword:Verifying-EnterExportPassword:
 记好自己设置的密码,下面要用到
再看凭据文件cert.pfx生成了

好了,我们现在在Jenkins里面添加凭据"Manage Jenkins"-"Manage Credentials"

Manage Credentials

Add Credentials

配置方法如下:Certificate,Global (Jenkins, nodes, items, all child items, etc),上传证书cert.pfx,设置密码,保存完成

配置完成后的效果

Global credentials

在Kubernetes Plugin配置里面"Kubernetes 服务证书 key"配置ca.crt的文件内容

凭据配置如下:

Kubernetes Plugin 凭据

点"连接测试"就可以看到k8s的版本,说明配置成功了。