有奖捉虫:云通信与企业服务文档专题,速来> HOT

操作场景

Jenkins 是连接持续集成和持续交付的桥梁,采用 Jenkins Master/Slave pod 架构能够解决企业批量构建并发限制的痛点,实现和落地真正意义上持续集成。本文介绍了如何在腾讯云容器服务(TKE)中使用 Jenkins,以实现业务快速可持续性交付,减少资源及人力成本。

工作原理

本文采用基于 TKE 的 Jenkins 外网架构,即 Jenkins Master 在 TKE 集群外,slave pod 在集群内。该外网架构图如下所示:n


Jenkins Master 、TKE 集群位于同一 VPC 网络下。
Jenkins Master 在 TKE 集群外,slave pod 在 TKE 集群的 node 节点上。
用户提交代码到 Gitlab,触发 Jenkins Master 调用 slave pod 进行构建打包并推送镜像到 TKE 镜像仓库,TKE 集群拉取镜像并触发滚动更新进行 Pod 部署。
多 slave pod 构建可满足批量并发构建的需求。

操作环境

本节介绍了该场景中的具体环境,如下:

TKE 集群

角色
Kubernetes 版本
操作系统
TKE 托管集群
1.16.3
CentOS 7.6.0_x64

Jenkins 配置

角色
版本
Jenins Master
2.190.3
Jenkins Kubernetes 插件
1.21.3

节点

角色
内网 IP
操作系统
CPU
内存
带宽
Jenkins Master
10.0.0.7
CentOS 7.6 64 bit
4核
8GB
3Mbps
Node
10.0.0.14
CentOS 7.6 64 bit
2核
4G
1Mbps

注意事项

确保与 TKE 集群同 VPC 下已具备 Jenkins Master 节点,并且该节点已安装 Git。
确保操作步骤中用到的 gitlab 代码仓库里面已包含 Dockerfile 文件。
建议设置 TKE 集群及 Jenkins Master 安全组内网访问全放通,详情请参见 容器服务安全组设置

操作流程

按照以下步骤,先对 TKE 集群及 Jenkins 进行配置,再使用 slave pod 进行构建打包并推送镜像至 TKE 镜像仓库,最后通过 TKE 控制台使用拉取的镜像进行 Pod 部署。