概述
提前在K8S集群中部署jenkins和gitlab应用,gitlab用于存放应K8S的资源清单Yaml文件,Jenkins用于拉取gitlab上的Yaml文件并将其部署到K8S集群中。将所有Yaml文件放在Gitlab中能够实现文件的统一管理和版本记录,能够方便查看管理员们的更新操作,配置动态的Jenkins Slave 来执行任务,完成任务即释放,也不会一直暂用资源。
Gitlab代码仓库
为了方便管理和记录,将部署应用的Yaml文件都存放在gitlab库中,在Gitlab中新建一个群组名为kubernetes,该群组下的项目以应用名称命名,每个项目下存放各个应用的部署文件
如下项目Prometheus中存放的就是部署Prometheus的所有Yaml
Jenkins 构建流水线
一、配置 Jenkins Slave
配置 Jenkins,让他能够动态的生成 Slave 的 Pod,
第 1 步. 安装Kubernetes插件, 点击 Manage Jenkins -> Manage Plugins -> Available -> Kubernetes 勾选安装即可
第 2 步. 安装完毕后,点击Manage Jenkins -> Node Manage -> Configure Clouds 配置Kubernetes集群,首先配置连接 Kubernetes APIServer 的地址,由于我们的 Jenkins 运行在 Kubernetes 集群中,所以可以使用 Servic