我的任务是更新一些BOSH脚本/职位/您拥有什么,而开发它们花费了我很多时间。
我最终被锁定使用BOSH lite,但是我只真正看到了如何部署CloudFoundry
到BOSH lite环境。
但是,我对需要放入BOSH lite发行版/清单/这里的内容有些困惑。
有人可以用BOSH lite描述他们的工作流程,以及我需要在发布清单中放入哪些类型的信息来部署我的发布并测试我在BOSH lite中的工作和任务?我一直很难在这方面找到好的资源,而一般来说只是BOSH。
高级工作流程是:
bosh deploy
使用清单运行,以便Director可以在“云”中创建“ VM”,并按照清单中描述的拓扑将发行版中的某些软件放在这些VM上(并运行该软件)您需要告诉Director的三项主要内容是干细胞,版本和部署清单。到目前为止,您已经知道什么是发行版,基本上所有可以运行的软件。
干细胞是所有已部署的VM通用的基本OS映像(您可以在部署中拥有不同的干细胞,但最常见的是使它们完全相同)。这是一个特殊的图像,其中已经预先烘焙了一些东西,以便于使用BOSH。首先,它具有一个BOSH代理程序,这就是Director与VM通信的方式,以告诉它“下载此程序包”,“下载此作业”,“启动此过程”等。
部署清单是一个YAML文件,您可以在其中指定以下几项内容:
name
部署的。releases
将作为此部署的一部分部署的以及特定版本的列表。networks
要与已部署的VM关联的的描述。例如,如果您使用的是类似AWS的IaaS,则可能要部署到VPC中,并在此处指定一些子网ID。jobs
,基本上是要部署的几个同类集群的列表,以及每个集群需要多少个VM /节点实例。假设您的发布包括frontend
服务,backend
服务和database
服务。然后,您可能想要部署一个frontend
仅运行frontend
作业的集群,并有5个实例。您可能需要10个backend
群集实例,可能只需要1个实例database
。job
清单中的每个文件都可以引用多个jobs
发行版中的多个文件(是的,不幸的是,这两个事物被命名为同一事物是一个历史偶然事件)。properties
,例如,您的工作可能需要配置一堆参数和凭据,并且需要全局共享的任何属性都可以放在该properties
部分中。BOSH-Lite是一个Vagrant VM,它实际上在运行您关心的两件事:
BOSH-Lite的优势在于,与在AWS,vSphere,OpenStack或其他真实数据中心中启动真实VM相比,在笔记本电脑中的VM中启动容器要便宜得多且速度更快。
首次工作流程(启动并定位BOSH-Lite之后):
$ git clone YOUR_RELEASE_REPO
$ cd YOUR_RELEASE_REPO
$ bosh create release && bosh upload release
$ # create manifest, call it manifest.yml
$ bosh -d manifest.yml deploy
迭代:
$ # modify the code in your repo
$ bosh create release --force && bosh upload release
$ # modify your manifest if necessary
$ bosh -d manifest.yml deploy
如果您不熟悉BOSH清单,则很难从头开始创建清单。您可能要考虑做的一件事是按照为Cloud Foundry创建BOSH-Lite清单所找到的说明进行操作。然后修改它以适合您的项目。
以下是有关部署清单清单架构的完整文档:https : //bosh.io/docs/deployment-manifest.html。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句