我有一个Vagrant文件,我想用它在三个独立的主机上启动3个VM。如果我跑
vagrant up master
vagrant up slave1
vagrant up slave2
事情按预期发挥作用;我让我的三个虚拟机在三个不同的主机上运行。
但是,如果我只是运行
vagrant up
我最终得到了一台主机上的所有机器。流浪者摧毁也有类似的问题。
我做错了吗?我需要设置一个标志吗?
我的设置:
主机:
如果有必要,我可以对此进行扩展,但似乎问题是我在流浪汉中所做的事情;不知怎的,它只使用.provider部分一次???
Vagrantfile:
# -x- mode: ruby -x-
# vi: set ft=ruby :
boxes = [
{
:name => "master",
:host => "192.168.1.21",
:hostname => "hibanako-1",
:mac => "..."
},
{
:name => "slave1",
:host => "192.168.1.22",
:hostname => "hibanako-2",
:mac => "..."
},
{
:name => "slave2",
:host => "192.168.1.23",
:hostname => "hibanako-3",
:mac => "..."
}
]
VAGRANT_API_VERSION = "2"
Vagrant.configure(VAGRANT_API_VERSION) do |config|
boxes.each do |opts|
config.vm.define opts[:name] do |boxconfig|
boxconfig.vm.box = "ubuntu/trusty64"
boxconfig.vm.hostname = opts[:hostname]
boxconfig.vm.network :public_network,
:dev => "p2p1",
:mac => opts[:mac],
:mode => 'bridge'
boxconfig.vm.provider :libvirt do |lv|
lv.host = opts[:host]
lv.username = "..."
lv.connect_via_ssh = true
lv.memory = 1600
lv.cpus = 4
end
end
end
end
我看过的一些资源: