【问题标题】:Best Vagrant setup for an infrastructure distributed over multiple machines分布在多台机器上的基础设施的最佳 Vagrant 设置
【发布时间】:2015-09-01 17:20:28
【问题描述】:

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

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

由于 Metrics/Backup 服务器并不是网站项目的真正组成部分,我认为最好的方法是引入一个专用的“备份项目”,其中包含自己的 Vagrant 文件。 现在有一些关于此设置的问题/疑虑。

  1. 假设我正在开发 App1。要开始测试,我在 App1 和 Metric 服务器上都有 Vagrant up。有没有更好的方法来立即启动它们?
  2. 一般而言,将 vagrant 用于与基础架构相关的服务器(例如备份)是否对网站运行不是必需的?
  3. 我可以通过私有网络链接 Vagrant 的多个“实例”吗?

【问题讨论】:

    标签: architecture vagrant development-environment infrastructure


    【解决方案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
      

    如果你管理不同的项目,你需要在每个项目上运行vagrant up来启动对应的虚拟机。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-07
      • 2020-05-22
      • 1970-01-01
      • 2010-09-18
      • 1970-01-01
      • 2023-01-02
      • 2016-04-26
      • 1970-01-01
      相关资源
      最近更新 更多