配置 Jenkins 连接 Kubernetes 实现 CI/CD
后知后觉 暂无评论

使用 Jenkins 配置 Kubernetes 集群,以便自动化部署。

安装插件

首先在 Jenkins 中安装 Kubernetes 插件,安装如下四个,其中一二三为依赖会自动安装,手动安装第四个即可。

插件列

安装后重启插件即可生效。

获取授权

然后需要获取现有集群的访问授权文件,对于标准 Kubernetes 来说,位于 ~/.kube/config 中,其他非标准集群请参考其官方文档。

  1. 提取 CA 证书

    cat ~/.kube/config | grep 'certificate-authority-data:' | awk -F ':' '{print $2}' | sed 's/^ *//g' | base64 -d | tee ca.crt
  2. 提取客户证书

    cat ~/.kube/config | grep 'client-certificate-data:' | awk -F ':' '{print $2}' | sed 's/^ *//g' | base64 -d | tee ci.crt
  3. 提取客户密钥

    cat ~/.kube/config | grep 'client-key-data:' | awk -F ':' '{print $2}' | sed 's/^ *//g' | base64 -d | tee ci.key
  4. 使用客户证书密钥制作 PFX 授权文件(需要为证书设置密码,需输入两次)

    openssl pkcs12 -export -out cert.pfx -inkey ci.key -in ci.crt -certfile ca.crt
小贴士:命令看起来复杂,实际上是获取授权文件,过滤出所需字段,去掉多余修饰和空格,然后使用加密算法制作证书。

测试项目

创建一个测试项目(选择 Freestyle project)测试是否可以正常连接和操控集群。

配置可信

Build Environment 中勾选 Configure Kubernetes CLI (kubectl) with multiple credentials,上面的不要勾选,已经废弃,后面版本可能会被删掉。然后点击红色箭头指向的添加按钮。

添加密钥

类型选择密码文件,文件上传生成的 PFX 证书,名称和描述根据需要填写。

填写集群信息

按图提示填写

填写执行命令

实际执行的命令填写一个查询 Pod 的即可。

查看运行结果

然后执行构建即可,查看结果。

查看运行输出

查看详细输出,是否可以正常显示所有 Pod 信息。

流水线

如果想在流水线中使用,需要使用 Pipeline Syntax 生成配置,选择配置好的密钥,填写相关信息点击生成即可。

生成流水线配置


附录

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。