这篇文章主要讲解了“ Cloud Foundry BOSH在部署系统时是如何工作的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ Cloud Foundry BOSH在部署系统时是如何工作的”吧!
Cloud Foundry 是业界第一个开源PaaS,它支持多种开发框架、多种服务和多种IaaS。BOSH起先是在Cloud Foundry项目中开发的,不过,它是一个通用的工具,协助大规模分布式服务的部署和生命周期管理。
我们使用BOSH将Cloud Foundry的各组件部署到分布的节点上(在虚拟化环境中,节点即虚拟机)。以下简要介绍一下BOSH在部署系统时是如何工作的。
BOSH是Bosh Outter SHell的缩写。与“Outter Shell”相对,被BOSH部署和管理的系统称为“Inner Shell”。下图简要说明了BOSH的模块:
BOSH是将分布式系统的部署步骤进行定义和编排的服务器,通过BOSH CLI(指令界面,一个ruby工具)可以与BOSH服务器交互。BOSH开始部署系统之前,需要准备好三项内容:stemcell,release(要安装的软件),和一个部署清单(manifest)。让我们仔细看一下这三项内容:
Stemcells: 在云平台上,VM经常会用从模板clone的方法创建。stemcell是包含了标准操作系统(例如ubuntu)和BOSH agent的VM模板。“stemcell”这个词来源于生物学的“干细胞”,指的是可以生长成为不同类型细胞的原始细胞。同样的由BOSH stemcell创建的VM在开始时是相同的,启动后,VM被配置成不同的CPU/memory/storage/network,并且安装不同的软件包。这样由同样stemcell模板创建的VM变得不一样了。
Releases: release包含一系列软件和配置,用于安装到目标系统中。配置通常包含例如IP地址、商品号、用户名、口令、域名等。这些参数根据部署清单文件(Deployment mManifest)中的属性来确定。
contains collections of software bits and configurations which will be installed onto the target system. Each VM is deployed with a collection of software, which is called a job. Configurations are usually templates which contain parameters such as IP address, port number, user name, password, domain name. These parameters will be replaced at deploy time by the properties defined in a deployment manifest file.
Deployment Manifest: Deployment Manifest(部署清单)定义了部署时所需的实际参数值,在部署过程中,BOSH用这些值替换release中的参数,使得软件按计划好的配置来运行。
当以上三个内容准备好之后,它们将被用BOSH CLI工具上传到BOSH。然后,用BOSH安装分布式系统一般包括以下主机步骤:
1) 如果在release中的一些package需要编译,BOSH首先创建几个临时VM来编译它们。编译完成后,BOSH将编译好的二进制代码放在内部的blobstore,将临时VM销毁。
2) BOSH创建一个VM池,包含多个VM,release将被部署到这些VM上。这些VM从stemcell克隆过来,它们已经包含了BOSH agent.
3) 部署一个release的任务时,BOSH从VM池里取出一个VM,根据Deployment Manifest更改配置。配置可能包括IP address、永久磁盘大小,等等。
4) 当重新配置VM完成后,BOSH向每个VM中的agent发送指令。这些指令告诉agent来安装软件包。安装过程中,agent可能从BOSH下载软件包并安装。当安装完成后,agent运行启动脚本来启动VM中的任务。
5) BOSH重复步骤3-4,直到所有任务都已部署和启动。这些任务可以并行或顺序部署,由manifest(清单)文件中的“max_in_flight”值控制。当设为1时,任务一个一个部署。对于性能差的系统,这个值很有用,可避免资源拥挤造成超时。当这个值大于1时,意味着任务可以并行部署。
感谢各位的阅读,以上就是“ Cloud Foundry BOSH在部署系统时是如何工作的”的内容了,经过本文的学习后,相信大家对 Cloud Foundry BOSH在部署系统时是如何工作的这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。