Kubernetes的持续集成-Jenkins
我们基于Jenkins的CI/CD流程如下所示。
流程说明
应用构建和发布流程说明。
- 用户向Gitlab提交代码,代码中必须包含Dockerfile;
- 将代码提交到远程仓库;
- 用户在发布应用时需要填写git仓库地址和分支、服务类型、服务名称、资源数量、实例个数等,确定后触发Jenkins自动构建;
- Jenkins的CI流水线自动编译代码并打包成docker镜像推送到Harbor镜像仓库;
- Jenkins的CI流水线中包括了自定义脚本,根据我们已准备好的kubernetes的YAML模板,将其中的变量替换成用户输入的选项;
- 生成应用的kubernetes YAML配置文件;
- 更新Ingress的配置,根据新部署的应用的名称,在ingress的配置文件中增加一条路由信息
- 更新PowerDNS,向其中插入一条DNS记录,IP地址是边缘节点的IP地址。关于边缘节点,请查看kubernetes-handbook中的【最佳实践——边缘节点配置】章节;
- Jenkins调用kubernetes的API,部署应用到kubernetes集群中。
关于应用的更新、滚动升级、灰度发布请留意博客中的后续文章或关注kubernetes-handbook的更新。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 wshten@gmail.com
文章标题:Kubernetes的持续集成-Jenkins
本文作者:KevinTen
发布时间:2019-08-30, 11:41:10
最后更新:2019-08-30, 21:10:14
原始链接:http://github.com/kevinten10/2019/08/30/Cloud/kubernetes/Cloud-K8s-CICD-Jenkins/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。