在我们当前的场景中,我们有一个 Vagrantfile,它创建了两台机器——app1 和 app2。然后我设置了一个 puppet 配置,它安装了许多模块(我们所有的应用程序组件)。我们的应用程序的工作方式要求两台机器在任何配置发生之前都已启动。
我们现在看到我们的配置行为的方式是 app1 启动然后配置,然后 app2 启动然后配置。这会导致我们的应用程序无法连接,因为它无法与尚未启动的其他服务器上的相应服务建立连接。
无论如何,有没有得到我们想要的配置,其中 app1 和 app2 被启动然后配置?下面是我们当前的 Vagrantfile 供参考
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.ssh.insert_key = false
config.vm.define "app1" do |app1|
app1.vm.box = "centos_base"
app1.vm.hostname = "app1.vagrant.test"
app1.vm.network "private_network", ip: "192.168.10.10"
app1.vm.network "forwarded_port", guest: 8080, host: 8000
end
config.vm.define "app2" do |app2|
app2.vm.box = "centos_base"
app2.vm.hostname = "app2.vagrant.test"
app2.vm.network "private_network", ip: "192.168.10.11"
app2.vm.network "forwarded_port", guest:8080, host: 8001
end
config.vm.provision "puppet" do |puppet|
puppet.module_path = "modules"
puppet.manifests_path = "manifests"
puppet.manifest_file = "default.pp"
end
end