Vagrant:多个相同虚拟机的最佳方法

时间:2017-03-09 22:43:34

标签: vagrant vagrantfile vagrant-provision

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

基于我目前对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命令可以启动一个新的唯一实例。

1 个答案:

答案 0 :(得分:1)

Vagrant的环境变量是您最好的选择。在Vagrantfile中定义类似的内容。

myVMs = ENV['NODES'] || 1

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

NODES=4 vagrant up

这将更新Vagrantfile中的myVMs变量并生成4个VM。您无需打开Vagrant文​​件并进行更新。但请注意,这将仅适用于此会话。如果要保存NODES的值,则可能必须将其添加到Linux中的〜/ .profile或Windows中的环境变量中。

希望这有帮助。

相关问题