通过jenkins交付微处事到kubernetes(2)

此刻去交付微处事到k8s中举个demo仅供参考

一、宣布流程设计 二、筹备基本情况 三、在Kubernetes中陈设jenkins 四、jenkins pipeline及参数化构建 五、jenkins在k8s中动态建设署理 六、自界说构建jenkins-slave镜像 七、基于kubernetes构建jenkins ci系统 八、pipeline集成helm宣布spring cloud微处事

通过jenkins交付微处事到kubernetes


一、传统的宣布流程是怎么样的?
此刻的这个宣布流程设计照旧要和本身的项目中去考量,部署一个概略的拓扑图,那么好比没有这样的场景jenkins去宣布微处事,它是一个怎么样的流程,作为运维来讲首先要去拉代码,开拓已经将这个项目开拓好了,并推送到git客栈中可能陈设的私有的gitlab代码客栈中,第一步做的就是将这个代码拉下来,拉完代码,一般代码都是Java应用,会设计到一个编译,编译出来一个可陈设的包,一般微处事是jar包,可能直接启动的应用措施,然后就开始去封装这个处事了,一般就是将这个jar包可能应用措施,通过dockerfile去告竣一个可陈设的镜像,这个镜像一般会本身建造jdk情况,可能就是jre情况,就是基本镜像可以或许运行这个镜像的底包,最后一步就是陈设到k8s中,这里就会写一些yaml文件了去把这个镜像陈设到k8s中,也就是容器的编排,别的还要思量怎么将这个应用袒暴露去,让用户会见到。

利用jenkins自动话宣布的流程是这么样的?
显然这种方法宣布多个微处事很不高效,所以就需要ci/cd,这么一说,那么有jenkins了,怎么将这种方法自动化起来,淘汰人工的过问。
上面那张图,首先是这样的,开拓将代码推送到git客栈中,通过commit提交上去,然后再到jenkins了,它认真的任务就是checkout代码的拉取,code compile代码的编译,docker build &push ,镜像的构建与推送到harbor客栈中,然后deploy,将应用陈设到k8s中,这里呢由于大概是许多的微处事,那么我们就需要模版的取代,去宣布微处事,这里我们就会需要用到它原生的helm微处事宣布东西来到k8s傍边去deploy,宣布到测试情况中去,然后通过slb提供一个统一的出口,宣布出去,中间发生的镜像也城市存放到harbor客栈中,当QA测试没有问题,这个镜像也就可以去宣布出产情况中。

为什么需要jenkins slave架构
别的这里还提到了一个jenkins,slave的一个架构,主要的是可以动态的可以完成这些任务,动态的去调治一个呆板和一个pod来完成这几步的任务,因为当任务许多时,也就是都在jenkins master去做,显然任务多了负载就高了,所以就需要引入这个slave去办理这个问题。

二、筹备基本情况,所需的组件来完成我们流程的宣布

1、k8s——(ingress controller、coredns、pv自动供应) 2、harbor,并启用chart存储成果,将我们的helm打成chart并存放到harbor中 3、helm-v3 东西,主要来实现模版化,动态的将应用渲染安装与卸载,更好的去打点微处事 4、gitlab代码客栈,docker-compose实现 5、MySQL,微处事数据库 6、在k8s中陈设eureka(注册中心)

1、查抄k8s基本组件的情况是否安装:
1、默认我的这个基本的组件都是安装好的,ingress 和coredns

[root@k8s-master1 ~]# kubectl get pod -A NAMESPACE NAME READY STATUS RESTARTS AGE ingress-nginx nginx-ingress-controller-2vs56 1/1 Running 0 5h3m ingress-nginx nginx-ingress-controller-586gw 1/1 Running 0 167m ingress-nginx nginx-ingress-controller-pxztr 1/1 Running 0 5h3m ingress-nginx nginx-ingress-controller-qp266 1/1 Running 0 5h6m kube-system coredns-59fb8d54d6-vjn62 1/1 Running 0 5h7m kube-system kube-flannel-ds-amd64-2hnkf 1/1 Running 0 5h7m kube-system kube-flannel-ds-amd64-2smpl 1/1 Running 0 5h7m kube-system kube-flannel-ds-amd64-jbrv4 1/1 Running 0 167m kube-system kube-flannel-ds-amd64-jsxdf 1/1 Running 0 5h7m kubernetes-dashboard dashboard-metrics-scraper-566cddb686-mddlb 1/1 Running 0 5h7m kubernetes-dashboard kubernetes-dashboard-c4bc5bd44-wpgc7 1/1 Running 0 5h7m

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsddpg.html