开发者如何使用 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,它可能更适合让您的清单正常工作的来回帮助。
我的任务是更新一些 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,它可能更适合让您的清单正常工作的来回帮助。