Vagrant:多个相同 VM 的最佳方法

Vagrant: Best method for Multiple Identical VMs

我想使用 Vagrant 配置多个虚拟机。我希望能够快速轻松地增加 VM 的数量。

基于我目前对Vagrant的理解。此处详述的以下方法 https://www.edureka.co/blog/10-steps-to-create-multiple-vms-using-vagrant/ 似乎是最好的方法:

# This defines the version of vagrant
Vagrant.configure(2) do |config|
    # Specifying the box we wish to use
    config.vm.box = "chef/centos-6.5"
    # Adding Bridged Network Adapter
    config.vm.network "public_network"
    # Iterating the loop for three times
    (1..3).each do |i|
        # Defining VM properties
        config.vm.define "edureka_vm#{i}" do |node|
            # Specifying the provider as VirtualBox and naming the VM's
            config.vm.provider "virtualbox" do |node|
                # The VM will be named as edureka_vm{i}
                node.name = "edureka_vm#{i}"  
            end
        end
    end
end

所以如果我想从 3 增加到 4,我只需更改循环范围。

还有别的方法吗?当我阅读文档时,我希望有某个版本的 vagrant up 命令可以启动一个新的唯一实例。

Vagrant 的环境变量是你最好的选择。在你的 Vagrantfile 中定义这样的东西。

myVMs = ENV['NODES'] || 1

其中 NODES 是一个环境变量。您可以通过以下方式使用它。

NODES=4 vagrant up

这将更新您的 Vagrantfile 中的 myVMs 变量并生成 4 个虚拟机。你不需要打开你的 Vagrantfile 并更新它。但请注意,这将是针对此会话 alone.If 您要保存 NODES 的值,然后您可能必须将其添加到 Linux 中的 ~/.profile 或 [=25] 中的环境变量=].

希望对您有所帮助。