Mam konfigurację Vagrant z wieloma maszynami. Korzystając z NFS i private_network
mogę uzyskać wszystko, co potrzebne do pracy (Drupal, PHP itp.), Z WYJĄTKIEM pozwalającym komuś na korytarzu na odwiedzenie aplikacji sieciowej uruchomionej na mojej maszynie wirtualnej. Rozumiem, że private_network
uniemożliwia połączenie się z maszynami wirtualnymi ze świata zewnętrznego.Wystaw wirtualną maszynę Vagrant na sieć podczas korzystania z NFS i private_network
Czy istnieje sposób na utworzenie sieci prywatnej i publicznej, aby wszystkie systemy VMS Z WYJĄTKIEM równoważnika obciążenia były prywatne, a system równoważenia obciążenia jest dostępny za pośrednictwem adresu IP hosta?
hosts = {
"wloadlocal" => "192.168.33.10",
"wweblocal1" => "192.168.33.11",
"wweblocal2" => "192.168.33.12",
"wwhlocal" => "192.168.33.13",
}
Vagrant.configure("2") do |config|
hosts.each do |name, ip|
config.vm.define name do |machine|
machine.vm.box = "precise32"
machine.vm.box_url = "http://files.vagrantup.com/precise32.box"
machine.vm.hostname = "%s.example.org" % name
machine.vm.network :private_network, ip: ip
machine.vm.network "public_network"
machine.vm.provider "virtualbox" do |v|
v.name = name
v.customize ["modifyvm", :id, "--memory", 200]
end
if name == "wloadlocal"
machine.vm.network "forwarded_port", guest: 80, host: 8880
end
end
#sync folders
config.vm.synced_folder "~/data", "/data", type: "nfs"
end
end
Edit # 1
Na Vagrant na NFS doc page stwierdza, że podczas korzystania z VirtualBox i NFS należy użyć private_network:
Jeśli używasz dostawcy VirtualBox, będziesz również potrzebować aby upewnić się, że masz masz skonfigurowaną sieć prywatną. Wynika to z ograniczenia wbudowanej sieci VirtualBox. W VMware nie potrzebujesz tego.
Potrzebuję używać NFS z powodów związanych z wydajnością, ale chciałbym również w razie potrzeby móc udostępniać aplikacje działające na maszynach wirtualnych w sieci lokalnej. czy to możliwe?
P.S. Dla wszystkich użytkowników: Vagrant jest narzędziem _dev_, nie jest narzędziem sieciowym/sysadmin. Jego celem jest umożliwienie programistom skonfigurowania receptur VM, które działają identycznie dla wszystkich programistów w zespole. –
Podczas gdy Vagrant ma interfejs API, konfigurowanie sieci wewnętrznej w taki sposób, jaki chce OP, może być lepiej dopasowane do [su]. Gdy ta konfiguracja jest znana, umieszczenie jej w kodzie powinno być łatwe. W związku z pytaniem dotyczącym PO nie sądzę, aby można było stworzyć dwa rodzaje sieci wewnętrznie. –
Myślę, że to podskakiwanie między witrynami jest po prostu głupie. Niech to będzie pytanie. W przypadku Superużytkowników nie jest to konfiguracja Vagrant. – eis