『高级篇』docker之CICD(终结篇)(44)
2019-03-13 11:43:37
李明
  • 访问次数: 382
  • 注册日期: 2018-07-09
  • 最后登录: 2022-11-17

原创文章,欢迎转载。转载请注明:转载自 IT人故事会 ,谢谢!原文链接地址: 『高级篇』docker之CICD(终结篇)(44)

从2018年9月11日开始写高级篇到今天11月21日,短短2个月高级的收获还是满满的。docker命令越来越熟悉,jenkins在中级篇里没有涉及到,这次也把jenkins的内容给补充了,在中级篇里k8s,一直安装很多坑,到现在可以顺利的安装k8s,而且一步一步安装了解了etc,apiserver,ControllerManager。但是感觉还是不够深入,下次计划继续k8s和实践。重点还是实践和k8s。


v2-f7b4a95dbcbd16cc378b958e6ae4959c_hd.p

一起回顾下

微服务的概念

  1. 从软件架构的进化引入的微服务,了解微服务的概念,知道了微服务的架构并不是完美无缺的,有很多优势,独立性(有自己的独立栈),敏捷性(快速的迭代)。问题,数量庞大,指数级的增加我们必须考虑的它们之间如何进行通信,服务编排也是我们需要考虑的。

  2. 微服务带来的问题分析,服务间的通讯(一对一,一对多,同步异步),通信协议的维度分析了长见的协议(restapi,rpc,消息队列),也对比分析了几个rpc框架(thrift,dubbo,motan,grpc)。服务编排,首先使用了对比的方式,展示了传统服务和微服务在服务发现,服务更新,服务扩缩容上是什么样子,了解了微服务为什么不能像传统服务那样支持。然后引出了服务编排的概念。

3.springboot&springcloud的内容,毕竟他们都是线下流行的跟微服务密切相关的,犹豫跟微服务相关的很多,初学者很容易混乱,让老铁在大脑中对springboot和springcloud有个关键的认识,知道它的使命是什么,它的核心内容,以及它们在微服务中扮演什么角色。

微服务的开发

分析了微服务的架构,也分别开发了多个微服务,在开发的过程中,体验了springboot,springcloud,dubbo,跨语言的RPC通信thift,然后这只是刚刚开始,其实都是为了服务编排考虑的。

为服务编排做准备

  • 服务docker化

  • Docker compose

  • Docker 仓库

搭建了一个私有的仓库harbor

完事具备,只欠编排

学习本身是学类庞统的。学会一个其他基本都是一个原理。都是从入门开始,到架构设计,到环境搭建,最后到部署。

  • Mesos(MySes可不是MeSes)

起步比较早很多大公司,还在用。

  • Docker Swarm

已经在docker的安装里面了。 官方的原汁原味。

  • kubernetes

犹豫kubernetes门槛比较高,我们花了前面几个框架几倍的时间来研究它,但是说实话,还没完全的搞懂,为了让大家更好的理解。部署了2次,一次非认证授权,一次需要认证。其实认证就是ssl 哈哈。一个模块一个模块纯手工的搭建了k8s集群。然后在集群上演示了官方的实例。

  • CICD&Devops

最后体验了一把CICD和Devops,他们之间的关系还是很亲密的。服务编排为Devops落地提供了土壤。服务编排其实就是为CICD和Devops而生的。搭建了gitlab和jenkins的部署。在jenkins下编写了pipline流水线脚本,以及在流水线里面编写的shell脚本。体验了CICD,从提交了代码完成打包,做镜像,push推送。最后完成服务的更新。最后说句千万别用jenkins的容器。这东西不适合用容器。

PS:从看到这里的基本都是真爱老铁了,在这里真心的谢谢大家。从docker初级,中级到高级。从4月份了解docker到现在已经7个月多了,对docker的执着学习一直在继续,中间也有老铁指出文章中的问题。感谢一路有你!真心的希望我写的文章能对各位老铁有帮助。文章前面放了一个沙滩脚印的图片,希望我们在一起学习docker的路上,你我一起让同行的人更多,感谢在这个过程中有老铁愿意分享我的文章,让更多的人一起在docker的路上。我们一直在赶路。一起在努力!你累吗,累就对了,因为至少证明你还活着!下一步学习docker脚步不会停止。继续开启我们的实践篇通过网上开源的项目,完成docker环境下的部署和运维。


v2-5e0719d9fc7dd03ce32e624534c0b631_hd.p