开发者如何使用 BOSH lite?

How to use BOSH lite as a developer?

我的任务是更新一些 BOSH scripts/jobs/what 是吗,开发它们花费了我很多时间。

我终于开始使用 BOSH lite,但我只真正了解如何将 CloudFoundry 部署到 BOSH lite 环境。

但是,我有点不知道我需要将什么放入我的 BOSH lite release/manifest/what 到这里?

谁能描述一下他们使用 BOSH lite 的工作流程,以及我需要在发布清单中放入哪些类型 的信息以部署我的发布并在 BOSH 中测试我的工作和差事精简版?我一直很难找到这方面的好资源,总的来说就是 BOSH。

高级工作流是:

  • 在您的工作站上,您有一个 BOSH 版本的回购协议
  • 你在某处有个BOSH导演
  • 你在你的版本上工作,构建它,并将它上传给导演
  • 您 create/modify 引用上传版本的部署清单
  • 您 运行 bosh deploy 使用您的清单,以便 Director 可以在 "Cloud" 中创建 "VMs" 并将您的版本中的软件位放在这些 VM 上(和 运行 软件)在清单中描述的拓扑中

您需要告诉主管的三件主要事情是干细胞、发布和部署清单。到现在为止,您已经知道什么是发行版了,它基本上是所有获得 运行.

的软件

stemcell 是基础 OS 映像,对所有已部署的 VM 都是通用的(您可以在一个部署中使用不同的 stemcell,但最常见的情况是让它们全部相同);这是一张特殊的图像,其中预置了一些东西以便于使用 BOSH。首先,它有一个 BOSH 代理,这就是 Director 与 VM 通信的方式,以告诉它 "download this package"、"download this job"、"start this process" 等

部署清单是一个 YAML 文件,您可以在其中指定几项内容:

  • 您的部署 name
  • releases 的列表以及您将作为此部署的一部分进行部署的特定版本。
  • 对要与已部署 VM 关联的 networks 的描述。例如,如果您使用的是像 AWS 这样的 IaaS,您可能正在部署到 VPC 中,您可以在此处指定一些子网 ID。
  • jobs 的描述,基本上是要部署的几个同类集群的列表,以及每个集群需要多少个 VMs/nodes 实例。假设您的版本包含 frontend 服务、backend 服务和 database 服务。然后你可能想要部署一个 frontend 集群,它只是 运行 的 frontend 作业,并且有 5 个实例。您可能需要 backend 集群的 10 个实例,并且可能只需要 database 的 1 个实例。清单中的每个 job 都可以引用来自多个版本的多个 jobs(是的,这两个东西被命名为同一个东西是一个不幸的历史事故)。
  • 配置properties,例如您的作业可能需要配置一堆参数和凭据,并且需要全局共享的任何属性都可以放在 properties 部分。

BOSH-Lite 是一个 Vagrant VM,它本质上是 运行宁你关心的两件事:

  • BOSH 导演
  • Garden,一个 Linux 容器管理器(如果您听说过 Docker,Garden 类似,但存在时间更长,更适合生产用例)。 Garden 在这里的行为类似于 "the cloud",当 Director 需要创建一个 VM 时,它会委托给它的 "Cloud Provider Interface",而后者又会要求 Garden 创建一个容器。

BOSH-Lite 的优势在于,与在 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 or the mailing list,它可能更适合让您的清单正常工作的来回帮助。