我的任务是更新一些BOSH脚本/工作/你有什么,开发它们让我花了很多时间。
我最终被键入了使用BOSH lite,但我只是真正了解如何将CloudFoundry
部署到BOSH lite环境。
但是,我对于我需要放入BOSH lite版本/清单/这里的内容有点遗失?
有人可以用BOSH lite描述他们的工作流程,以及我需要在发布清单中放置哪些类型信息以部署我的版本并在BOSH lite中测试我的工作和差事?我一直很难在这个领域找到好的资源,而且只是BOSH。
答案 0 :(得分:6)
高级工作流程是:
bosh deploy
,以便Director可以创建" VMs"在"云"并将您的版本中的软件位放在那些虚拟机上(并运行软件),并在清单中描述的拓扑中您需要告诉Director的三个主要事项是stemcell(s),release(s)和deployment manifest。到目前为止,您已经了解了发行版的内容,它基本上是所有运行的软件。
干细胞是所有已部署的VM共有的基本操作系统映像(您可以在部署中使用不同的干细胞,但最常见的是让它们全部相同);这是一个特殊的图像,有一些预先烘烤的东西,以方便与BOSH合作。首先,它有一个BOSH代理,这就是Director与VM通信的方式告诉它"下载这个软件包","下载这个工作","启动这个过程"开始这个过程&#34 34;等等。
部署清单是一个YAML文件,您可以在其中指定以下内容:
name
。releases
列表以及特定版本。networks
的说明。例如,如果您正在使用像AWS这样的IaaS,那么您可能正在部署到VPC中,您可以在此处指定一些子网ID。jobs
的描述,基本上是要部署的几个同类群集的列表,以及每个群集需要多少个VM /节点实例。假设您的版本包含frontend
服务,backend
服务和database
服务。然后,您可能希望部署仅运行frontend
作业的frontend
群集,并且有5个实例。您可能需要10个backend
群集实例,可能只需要database
的1个实例。清单中的每个job
都可以引用多个版本中的多个jobs
(是的,这是一个不幸的历史事故,这两件事被命名为同一件事。)properties
,例如您的工作可能需要配置一堆参数和凭据,并且需要全局共享的任何属性都可以放在properties
部分中。BOSH-Lite是一个Vagrant VM,基本上运行着两件你关心的事情:
BOSH-Lite的优势在于,在笔记本电脑上的VM中启动容器比在AWS,vSphere,OpenStack或其他真实数据中心启动真实虚拟机要便宜得多,速度更快。
首次工作流程(启动并定位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。
如果您生成了清单并遇到问题,可以转向GitHub issues或the mailing list,这可能更适合在清单工作方面提供来回帮助。