使用BOSH处理动态IP地址的最佳方法是什么?目前我们正在为我们想要使用的每台机器设置静态IP地址,但我们只关心其中一台虚拟机具有静态IP地址。
有没有办法从BOSH VM中获取有关在BOSH网络中运行的其他VM的信息?或者只是从VM中获取有关部署的动态信息?比如哪些机器当前在哪个IP地址上运行?
答案 0 :(得分:0)
听起来最近"links"的介绍值得一看你的用例。
以前,如果作业之间需要进行网络通信,则发布作者必须添加作业属性以接受其他作业的网络地址(例如db_ips属性)。然后,运营商必须为每个实例组明确分配静态IP或DNS名称,并填写网络地址属性
这会让每个作业暴露或消耗连接。
即。 DB公开其连接
# 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') %>"