BOSH可以实现工作亲和力吗?

时间:2016-03-20 13:01:31

标签: bosh-deployer cf-bosh

说我想部署Mesos。 Mesos依赖Zookeeper。如何使用BOSH在两个作业之间创建关联。

理想情况下,我可以让我的Mesos工作启动并知道它应该与哪个Zookeeper实例进行通信以及如何进行操作。它们也应该在同一个VM上运行。

1 个答案:

答案 0 :(得分:1)

是的,在部署清单中,您可以确定哪些作业与VM上的其他作业共存

jobs:
  - name: mesos_master
    templates:
      - name: mesos
        release: mesos-release
      - name: zookeeper
        release: zookeeper-release
    ...

这里有一些不幸的命名值得澄清。 发布基本上是您的流程代码,销售二进制文件和模板,用于您的流程'启动脚本和配置文件。每个版本都有许多作业,其中一个作业基本上包括指向包(已编译的源和出售的二进制文件)的指针和在运行时呈现的模板,以确定封装在作业中的进程的启动脚本和配置文件。大多数作业封装了一个进程(例如,etcd作业可能只是封装了etcd服务器守护进程的包,启动脚本和配置文件)。

部署清单还有许多作业,每个作业都有许多模板。但是,部署作业中的模板引用发布中的作业。这些名称将来会改变为明确的,但要记住当前的命名法。过去,每个部署作业只能为其定义一个发布作业,因此只需:

jobs:
  - name: mesos
    release: mesos-release

因此没有歧义,但也无法在单个部署作业中拥有多个不同发布作业的亲和力。

不确定您发现哪些文档不是很有用,也许不是这些文档,但如果您错过了它们:

这里还有example manifest,它不是太大而且不是太小。你会看到它有一些工作,其中一些只有一个"模板" (a.k.a.释放工作),其中一些有2或3个。