假设我想部署 Mesos。Mesos 依赖于 Zookeeper。如何使用 BOSH 在这两个工作之间建立亲和力。
理想情况下,我将能够让我的 Mesos 工作启动,并知道它应该与哪个 Zookeeper 实例通信以及如何这样做。它们还应该在同一个 VM 上运行。
假设我想部署 Mesos。Mesos 依赖于 Zookeeper。如何使用 BOSH 在这两个工作之间建立亲和力。
理想情况下,我将能够让我的 Mesos 工作启动,并知道它应该与哪个 Zookeeper 实例通信以及如何这样做。它们还应该在同一个 VM 上运行。
是的,在您的部署清单中,您可以确定哪些作业与虚拟机上的其他作业共存
jobs:
- name: mesos_master
templates:
- name: mesos
release: mesos-release
- name: zookeeper
release: zookeeper-release
...
这里有一些不幸的命名值得澄清。发布基本上是您的源代码、供应商二进制文件和用于进程启动脚本和配置文件的模板的集合。每个版本都有许多作业,其中作业本质上由指向包的指针(编译的源代码和供应的二进制文件)和模板组成,这些模板在运行时呈现以确定封装在作业中的进程的启动脚本和配置文件。大多数作业都封装了一个进程(例如,一个 etcd 作业可能只是封装了一个 etcd 服务器守护进程的包、启动脚本和配置文件)。
部署清单也有许多作业,每个作业都有许多模板。但是,部署作业中的模板是指发布中的作业。这些名称将来会更改为明确的,但对于当前的命名法,请牢记这一点。过去,每个部署作业只能定义一个发布作业,因此很简单:
jobs:
- name: mesos
release: mesos-release
因此没有歧义,但也没有能力在单个部署作业中具有多个不同发布作业的亲和力。
不确定您发现哪些文档没有用,也许是这些文档,但如果您错过了它们:
这也是一个不太大也不太小的示例清单。你会看到它有一些工作,其中一些只有一个“模板”(又名发布工作),其中一些有 2 或 3 个。