1

使用 BOSH 处理动态 IP 地址的最佳方式是什么?目前,我们正在为要使用的每台机器设置静态 IP 地址,但我们只真正关心其中一个 VM 是否具有静态 IP 地址。

有没有办法从 BOSH VM 中获取有关在 BOSH 网络中运行的其他 VM 的信息?或者只是从 VM 中获取有关部署的动态信息?比如哪些机器当前在哪些IP地址上运行?

4

1 回答 1

0

听起来最近引入的“链接”值得一看您的用例。

以前,如果作业之间需要网络通信,发布作者必须添加作业属性以接受其他作业的网络地址(例如 db_ips 属性)。然后,操作员必须为每个实例组显式分配静态 IP 或 DNS 名称并填写网络地址属性

这使每个作业都可以公开或使用连接。

即一个数据库暴露了它的连接

# Database job spec file.
name: database_job
# ...
provides:
- name: database_conn
  type: conn
  # Links always carry certain information, like its address and AZ.
  # Optionally, the provider can specify other properties in the link.
  properties:
  - port
  - adapter
  - username
  - password
  - name

一个应用程序可以使用它。

# Application job spec file.
name: application_job
# ...
consumes:
- name: database_conn
  type: conn

消费作业提供了额外的属性以根据需要使用这些地址/信息,即

#!/bin/bash
# Application's templated control script.
# ...
export DATABASE_HOST="<%= link('database_conn').instances[0].address %>"
export DATABASE_PORT="<%= link('database_conn').p('port') %>"
于 2017-11-08T15:45:46.270 回答