Vagrant 1.1, salt and vbguest 配置开发环境的虚拟机

vagrant 升级到 1.1 后配置文件的写法有较大变化,从 1.0 改过来时要注意。
使用 salt 来做自动配置需要安装 vagrant 插件 Salty Vagrant,基础 Vagrantfile 描述如下:


Vagrant.configure("2") do |config|
  ## Chose your base box
  config.vm.box = "precise64"

  ## For masterless, mount your salt file root
  config.vm.synced_folder "salt/roots/", "/srv/"

  ## Use all the defaults:
  config.vm.provision :salt do |salt|

    salt.run_highstate = true

  end
end

如果 salt 采用 masterless 模式,也就是使用 host 的 states 文件的话,需要额外指明 minion 的配置文件:


salt.minion_config = "salt/minion"

文件中要声明:


master: localhost
file_client: local

由于 host 的 salt/roots 目录要被映射到 guest 的 /srv 目录,给 salt-minion 提供 states 文件,所以如果 guest 里的 VBoxGuestAdditions 运行不正常导致目录没正确映射,自动配置是无法得到执行的。除了手工更新 VBoxGuestAdditions 以外,还可以使用 vbguest 插件来自动判断和自动更新。控制只检查是否需要更新但不自动更新的配置项为:


config.vbguest.auto_update = false

Vagrant 1.1 配置 host-only networking 的配置项也变化了:


config.vm.network :private_network, ip: "10.11.12.13"

你可能感兴趣的:(vagrant,plugin,VirtualBox,SALT,Devops)