如何使用BOSH lite作为开发人员?

繁殖地

我的任务是更新一些BOSH脚本/职位/您拥有什么,而开发它们花费了我很多时间。

我最终被锁定使用BOSH lite,但是我只真正看到了如何部署CloudFoundry到BOSH lite环境。

但是,我对需要放入BOSH lite发行版/清单/这里的内容有些困惑。

有人可以用BOSH lite描述他们的工作流程,以及我需要在发布清单中放入哪些类型的信息来部署我的发布并测试我在BOSH lite中的工作和任务?我一直很难在这方面找到好的资源,而一般来说只是BOSH。

阿米特·库玛·古普塔(Amit Kumar Gupta)

高级工作流程是:

  • 在您的工作站上,您有一个用于BOSH版本的存储库
  • 你在某处有一个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个实例databasejob清单中的每个文件都可以引用多个jobs发行版中的多个文件(是的,不幸的是,这两个事物被命名为同一事物是一个历史偶然事件)。
  • 配置properties,例如,您的工作可能需要配置一堆参数和凭据,并且需要全局共享的任何属性都可以放在该properties部分中。

BOSH-Lite是一个Vagrant VM,它实际上在运行您关心的两件事:

  • 博世董事
  • Garden,一个Linux容器管理器(如果您听说过Docker,Garden与此类似,但是存在时间更长,更适合于生产用例)。在这里,Garden的行为就像“云”一样,当主管需要创建VM时,它会委派给其“云提供商接口”,而该接口仅要求Garden创建一个容器。

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

如果您生成清单并遇到问题,则可以转到GitHub问题邮件列表,它们可能更适合来回帮助清单运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

何时使用gruntjs作为JavaScript开发人员

来自分类Dev

在iOS开发人员程序中使用其他名称作为开发人员名称

来自分类Dev

如何隐藏开发人员标签

来自分类Dev

作为开发人员,我应该如何跟上内核的发展?

来自分类Dev

作为iOS开发人员,我应该使用什么TestFlight

来自分类Dev

如何仅为经过开发人员认证的开发人员集成AWS Cognito?

来自分类Dev

Java开发人员无法使用针对Java开发人员的Kurento的哪些功能?

来自分类Dev

我应该如何与使用Xcode的开发人员合作?

来自分类Dev

Android Auto-如何启用开发人员模式

来自分类Dev

如何与Ubuntu开发人员联系以解决问题?

来自分类Dev

普通开发人员如何尝试isPermissionRevokedByPolicy()?

来自分类常见问题

如何为Java EE开发人员升级Eclipse?

来自分类Dev

如何在MetaCPAN上找到开发人员版本?

来自分类Dev

开发人员应如何为客户设置Azure?

来自分类Dev

如何通过代码访问iOS开发人员证书

来自分类Dev

如何与其他开发人员共享信标

来自分类Dev

如何为单个开发人员选择命名空间?

来自分类Dev

如何注册为Ubuntu开发人员?

来自分类Dev

开发人员如何使Java项目“可扩展”?

来自分类Dev

如何找到Instagram开发人员支持?

来自分类Dev

PHP开发人员如何选择默认常量值?

来自分类Dev

如何与Ubuntu开发人员联系以解决问题?

来自分类Dev

如何注册为Ubuntu开发人员?

来自分类Dev

Web开发人员如何为Ubuntu做出贡献?

来自分类Dev

开发人员应如何为客户设置Azure?

来自分类Dev

如何在MetaCPAN上找到开发人员版本?

来自分类Dev

如何找到Xcode开发人员API

来自分类Dev

如何成为WP主题开发人员

来自分类Dev

如何卸载Firefox开发人员版?

Related 相关文章

热门标签

归档