适用于分布在多台计算机上的基础架构的最佳Vagrant设置

时间:2015-09-01 17:20:28

标签: architecture vagrant development-environment infrastructure

我想使用Vagrant和Ansible在本地镜像生产环境和基础架构。我已经设置了一个Vagrant文​​件以及我正在处理的每个项目/网站(App1,App2,...)。为了便于维护和清晰,我想使用一个服务器收集statsd,日志和其他指标+拉动备份。

+-----------+    +-----------+
|    App1   |    |  Metrics  |
|           +-+--+  Backups  |
+-----------+ |  +-----------+
              |               
+-----------+ |               
|    App2   | |               
|           +-+               
+-----------+   

由于Metrics / Backup服务器实际上不是网站项目的一部分,我认为最好的方法是引入专用的备份项目"有自己的Vagrant文​​件。 现在有关此设置的一些问题/疑虑。

  1. 让我们说我在App1上工作。要开始测试,我在App1和Metric服务器上都有Vagrant up。是否有更好的方法立即启动它们?
  2. 一般来说,将垃圾邮件用于基础设施相关服务器(如备份)是否是个好主意,这对于网站运行并不重要?
  3. 我可以链接多个"实例" Vagrant通过私人网络?

1 个答案:

答案 0 :(得分:1)

我假设您将拥有一个Vagrantfile来管理所有3个环境(您可以阅读更多http://docs.vagrantup.com/v2/multi-machine/

  1. 如果您管理单个Vagrantfile中的所有3个环境vagrant up默认情况下将启动所有3个环境。你可以定义一个autostart属性来定义默认情况下应该启动哪个属性,所以你默认只能启动2个:

    config.vm.define "App1"
    config.vm.define "Backup"
    config.vm.define "App2", autostart: false
    
  2. 如果您管理不同的项目,则需要在每个项目上运行vagrant up以启动相应的vm。

    1. 这取决于您的要求。如果您想尽可能地复制您的产品,您应该管理这种环境

    2. 是的,您可以通过IP或主机名进行通信(请参阅Can Multiple Vagrant VMs communicate by VM hostname?