![](https://csdnimg.cn/release/download_crawler_static/10475833/bg1.jpg)
Kubernetes 集群使用 Jenkins 持续发布
运行环境准备与相关软件要求
1. 生产级 kubernetes 集群 推荐 1.8 以上版本
2. Gitlab docker 镜像 slpcat/gitlab-ce
3. Jenkins docker 镜像
Jenkins master 镜像 slpcat/kube-jenkins-service
已安装需要的各种插件,已预先配置使用 kubernetes 管理 jenkins slave
Jenkins slave 镜像 slpcat/kube-jenkins-dind-agent
支持 jnlp 协议,git 源码管理,以及 Docker in Docker
4. Docker 私有镜像仓库,用户名密码,用于存放生成的 docker 镜像
实现功能与目标
1. gitlab 与 jenkins 使用 openid 统一认证,认证源为 gitlab 账户
2. Jenkins 使用 kubernetes 进行分布式构建任务
3. Jenkins 在 kubernetes 群集里面自动发布业务 pod,svc
4. 钉钉机器人通知 jenkins 任务构建进度与结果
5. 最终目标是开发人员运行 git push 提交代码,业务自动上线运行,无需人工干预
安装过程
搭建 kubernetes 群集
略
安装 Gitlab 到 kubernetes
使用持久化存储
镜像 slpcat/gitlab-ce
集群内域名 gitlab.default.svc.cluster.local
外部域名 git.example.com
配置样本:https://github.com/slpcat/docker-images/tree/master/gitlab-ce
安装 Jenkins 到
kubernetes
使用持久化存储
需要创建 serviceaccount 授权 jenkins 完全访问 kubernetes 集群
镜像 slpcat/kube-jenkins-service
集群内域名 jenkins.default.svc.cluster.local
外部域名 jenkins.example.com
配置样本:https://github.com/slpcat/docker-images/tree/master/kube-jenkins-service
相关功能配置
jenkisn 使用 gitlab 认证用户
Gitlab 建立应用