6 专注编排与部署:三剑客与Fleet
6.1 编排小神器Fig/Compose
Fig在Dockers界中成名已久,曾在很长的一段时间内,Fig都是面向Docker容器集群做编排部署的唯一工具。2014年7月,Fig被Docker收购并更名为Docker官方项目Compose,成为了Dockers支撑系统中最基础也是最成熟的一个项目。我们将从编排和部署两个方面,深入探讨工作机制。
6.1.1 再谈容器编排与部署
Docker最大的优点在于它提供了一种全新的软件发布机制。这种发布机制指的是开发者使用Dockers镜像作为统一的软件制品载体,使用Dockers容器提供独立的软件运行上下文环境,使用Dockers Hub提供镜像同一协作,最重要的是该机制使用Dockerfile定义容器内部行为和容器关键属性来支撑软件运行。
1.为什么要使用Fig/Compose
在生产环境中,整个团队需要发布的容器数量很可能极其庞大,而容器之间的联系和拓扑结构也可能非常复杂,尤其是企业内部已经服务很多年的核心应用,往往天生就是集群化的,并且也具备高可用设计(比如同步和心跳),或者需要大量复杂的缓存结构,需要关系或者非关系数据库,需要调用其他组的服务。如果依赖人工记录和配置这样复杂的容器关系,并保障集群正常运行,监控,迁移,高可用等操作,实在力不从心,因此迫切需要一种像Dockerfile定义Docker容器一样能够定义容器集群的编排和部署工具,来协助我们解决上述棘手问题。
这就是Compose存在的价值!
2.编排和部署
编排,即 orchestration,它根据被部署的对象之间的耦合关系,以及被部署对象对环境的依赖,制定部署流程中各个动作的执行顺序,部署过程所需要的依赖文件和被部署文件的存储位置和获取方式,以及如何验证部署成功。这些信息都会在编排工具中以指定的格式(比如配置文件或者特定的代码)来要求运维人员定义并保存起来,从而保证这个流程能够随时在全新的环境中可靠有序地重现出来。
部署,即 deployment,它是指按照编排所指定的内容和流程,在目标机器上执行编排指定环境初始化,存放指定的依赖和文件,运行指定的部署动作,最终按照编排中的规则来确认部署成功
编排是一个指挥家,他的大脑里存储了整个乐曲此起彼伏的演奏流程,部署就是整个乐队,严格按照指挥家的意图来完成乐谱的执行。
在Compose世界中,部署和编排的组合效果就是一朵容器云

浙公网安备 33010602011771号