2015-10-15 74 views
2

我使用Vagrant在桌面上配置3个虚拟机。我想用这3个虚拟机构建集群。我想在专用网络中配置这3台计算机的IP,并且只访问我桌面上的每台虚拟机。这种配置的原因是我将只使用这三个虚拟机进行开发。使用Vagrant配置专用网络

那么你能回答一下我如何配置Vagrant的IP来达到这个目的吗?我不明白我如何配置专用网络的IP地址。

回答

1

创建名为Vagrantfile颠沛流离的文件,并添加:

# -*k mode: ruby -*- 
# vi: set ft=ruby : 

Vagrant.configure("2") do |config| 
     config.vm.provider :libvirt do |libvirt| 
     libvirt.driver = "kvm" 
     libvirt.host = 'localhost' 
     libvirt.uri = 'qemu:///system' 
     end 
#   
config.vm.define "test1" do |vm1| 
     vm1.vm.box = "ubuntu/trusty64" 
     vm1.vm.hostname="vm1.example.com" 
      vm1.vm.provider :libvirt do |domain| 
     domain.memory = 1024 
     domain.cpus = 1 
     end 
     vm1.vm.network :private_network, 
         :ip => '192.168.1.10', 
         :libvirt__netmask => '255.255.255.0', 
         :libvirt__network_name => 'mynetwork', 
         :libvirt__forward_mode => 'none' 

end 

config.vm.define "test2" do |vm2| 
     vm2.vm.box = "ubuntu/trusty64" 
     vm2.vm.hostname="vm2.example.com" 
     vm2.vm.provider :libvirt do |domain| 
     domain.memory = 1024 
     domain.cpus = 1 
     end 
     vm2.vm.network :private_network, :ip => '192.168.1.11', :libvirt__network_name => 'mynetwork' 
end 
config.vm.define "test3" do |vm3| 
     vm3.vm.box = "ubuntu/trusty64" 
     vm3.vm.hostname="vm3.example.com" 
      vm3.vm.provider :libvirt do |domain| 
     domain.memory = 1024 
     domain.cpus = 1 
     end 
     vm3.vm.network :private_network, :ip => '192.168.1.12', :libvirt__network_name => 'mynetwork' 

end 

end 

根据您的供应商可以更改。这是供应商libvirt。 在第一test1阻止

vm1.vm.network :private_network, 
          :ip => '192.168.1.10', 
          :libvirt__netmask => '255.255.255.0', 
          :libvirt__network_name => 'mynetwork', 
          :libvirt__forward_mode => 'none' 

这将创建一个isolated专用网络192.168.1.0/24与名mynetwork。你可以改变它别的东西。在第二个test2和第三个test3简单地使用网络mynetwork。 如果你不给任何网络名称,那么它会分配一些其他名称,所以它会更好地添加网络名称,以便更容易理解。 use命令了:

vagrant up test1 
vagrant up test2 
vagrant up test3 

如果您使用VirtualBox然后Vagrantfile会像下面,但很多语法将是相同的。

VAGRANTFILE_API_VERSION = "2" 
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
config.vm.box = "ubuntu/trusty64" 
config.vm.network "private_network", ip: "192.168.33.10" 
config.vm.provider "virtualbox" do |vb| 
vb.customize ["modifyvm", :id, "--memory", "1024"] 
end