与 BOSH 有工作亲和力吗?
Is job affinity possible with BOSH?
假设我要部署 Mesos。 Mesos 依赖于 Zookeeper。如何使用 BOSH 在这两个作业之间建立关联。
理想情况下,我可以启动我的 Mesos 作业,并知道它应该与哪个 Zookeeper 实例通信以及如何通信。他们还应该 运行 在同一个虚拟机上。
是的,在您的部署清单中,您可以确定哪些作业与其他作业在 VM 上并置
jobs:
- name: mesos_master
templates:
- name: mesos
release: mesos-release
- name: zookeeper
release: zookeeper-release
...
这里有一些不幸的命名值得澄清。 release 基本上是您的源代码、出售的二进制文件以及进程启动脚本和配置文件的模板的集合。每个版本都有许多作业,其中一个作业主要由指向包(编译的源代码和出售的二进制文件)的指针和在运行时呈现的模板组成,以确定作业中封装的进程的启动脚本和配置文件。大多数作业封装单个进程(例如,etcd 作业可能只封装 etcd 服务器守护进程的包、启动脚本和配置文件)。
一个部署清单也有很多工作,每个工作都有很多模板。但是,部署作业中的模板引用了发布作业 =38=]。这些名称将来会变得明确,但要记住当前的命名法。以前每个部署作业只能定义一个发布作业,所以很简单:
jobs:
- name: mesos
release: mesos-release
因此没有歧义,但也无法在单个部署作业中具有多个不同发布作业的亲和力。
不确定您发现哪些文档没有用,也许是这些文档,但以防您错过它们:
这里还有一个不太大也不太小的example manifest。你会看到它有几个作业,其中一些作业只有一个 "template"(a.k.a. 发布作业),有些作业有 2 个或 3 个。
假设我要部署 Mesos。 Mesos 依赖于 Zookeeper。如何使用 BOSH 在这两个作业之间建立关联。
理想情况下,我可以启动我的 Mesos 作业,并知道它应该与哪个 Zookeeper 实例通信以及如何通信。他们还应该 运行 在同一个虚拟机上。
是的,在您的部署清单中,您可以确定哪些作业与其他作业在 VM 上并置
jobs:
- name: mesos_master
templates:
- name: mesos
release: mesos-release
- name: zookeeper
release: zookeeper-release
...
这里有一些不幸的命名值得澄清。 release 基本上是您的源代码、出售的二进制文件以及进程启动脚本和配置文件的模板的集合。每个版本都有许多作业,其中一个作业主要由指向包(编译的源代码和出售的二进制文件)的指针和在运行时呈现的模板组成,以确定作业中封装的进程的启动脚本和配置文件。大多数作业封装单个进程(例如,etcd 作业可能只封装 etcd 服务器守护进程的包、启动脚本和配置文件)。
一个部署清单也有很多工作,每个工作都有很多模板。但是,部署作业中的模板引用了发布作业 =38=]。这些名称将来会变得明确,但要记住当前的命名法。以前每个部署作业只能定义一个发布作业,所以很简单:
jobs:
- name: mesos
release: mesos-release
因此没有歧义,但也无法在单个部署作业中具有多个不同发布作业的亲和力。
不确定您发现哪些文档没有用,也许是这些文档,但以防您错过它们:
这里还有一个不太大也不太小的example manifest。你会看到它有几个作业,其中一些作业只有一个 "template"(a.k.a. 发布作业),有些作业有 2 个或 3 个。