首页 > 运维 > jenkins > K8S结合Jenkins实现持续集成的动态配置详情
2022
12-09

K8S结合Jenkins实现持续集成的动态配置详情

Jenkins版本(Jenkins2.309)

1.安装kubernetes插件

2. 新建流水线项目 指定名称prometheus-test-demo),选择流水线,点击确定

3. 对接 K8S 集群

3.1 申请 K8S 凭据

3.2 点击右上角「用户」 → 左下角「凭据」:

3.3 然后点击 Jenkins,选择全局凭据(Unrestricted)

添加凭据,类型选择 X.509 Client Certificate(如果没有这个选项,请安装插件docker pipline)

  • Client Key:  .kube/config文件中 client-key 对应的 key 文件
  • Client Certificate:  .kube/config文件中 client-certificate 对应的 crt 或是 pem 文件
  • Server CA Certificate:.kube/config 文件中 certificate-authority 对应的 crt 或是 pem 文件,K8S 的最高权限证书
  • ID:可不填写,默认会自动生成一串字符串,也可以自行设置
  • 描述:描述下这个凭据的作用,比如这个可以写 对接 K8S 集群凭据

填写完成后,点击确认

3.4、配置 K8S 集群的对接

点击 系统管理 → 系统配置 → 滑动到页面最下面 or 节点管理

点击 a separate configuration page

  • Kubernetes 地址:kubernetes服务地址,也就是 apiserver 的地址,一般是master 节点 NodeIP+6443 端口
  • Kubernetes 服务证书 key:kube-ca.crt/pem文件的内容
  • 凭据:刚才创建的 certificate 凭据
  • Jenkins 地址:Agent 连接 Jenkins Master 的地址

其他都使用默认配置,点击连接测试,连接测试成功,点击 Save 存储

3.5、K8S pod template 配置

这边要注意,还要向pod内添加 几个 container

3.6、添加jenskins-slave通信连接容器 【jnlp】

3.7、然后再添加编译容器【maven】