vagrant会自动安装puppet吗?

Eri*_*cis 14 puppet vagrant

我有这个Vagrantfile:

Vagrant.configure("2") do |config|
    config.vm.provision "puppet"
  end
Run Code Online (Sandbox Code Playgroud)

然而,当我跑步时,puppet --version我得到:

[vagrant@vagrant-centos65 ~]$ puppet --version
-bash: puppet: command not found
Run Code Online (Sandbox Code Playgroud)

我需要手动安装木偶吗?

tma*_*lai 17

不,(目前)Vagrant不会自动安装它.

因此,您需要使用已安装它的基盒(Puppet Labs也提供了盒子),或者您需要自己安装它.可能最简单的安装方法是在puppet provisioner之前使用shell provisioner.


Eri*_*cis 7

为了回应@tmatilai,我创建了这个简单的设置:

Vagrantfile:

Vagrant.configure(2) do |config|
  config.vm.box = "centos6.5_64"
  config.vm.provision "shell", path: "manifests/puppet.sh"
  config.vm.provision "puppet"
end
Run Code Online (Sandbox Code Playgroud)

清单/ puppet.sh:

echo "Adding puppet repo"
sudo rpm -ivh https://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
echo "installing puppet"
sudo yum install puppet -y
echo "ensure puppet service is running"
sudo puppet resource service puppet ensure=running enable=true
#echo "ensure puppet service is running"
#sudo puppet resource service puppetmaster ensure=running enable=true

echo "ensure puppet service is running for standalone install"
sudo puppet resource cron puppet-apply ensure=present user=root minute=30 command='/usr/bin/puppet apply $(puppet apply --configprint manifest)'
Run Code Online (Sandbox Code Playgroud)
[vagrant@vagrant-centos65 home]$ puppet --version
3.4.2
Run Code Online (Sandbox Code Playgroud)


Pet*_*ter 6

如果你想使用一个插件,我做了一个将自动从Vagrantfile中给出的版本安装Puppet:

Vagrant.configure("2") do |config|

  config.puppet_install.puppet_version = :latest

end
Run Code Online (Sandbox Code Playgroud)

这也会做一些很酷的技巧,比如确保你指定的木偶版本是有效的版本之类,详情如下:https://github.com/petems/vagrant-puppet-install/