我对木偶和虚拟机非常陌生,所以我很难理解文档和所有内容。
我已经获得了一个需要在木偶5上运行的回购,所以我让自己运行它,看看它做了什么。
我开始抓住一个Linux VM(Ubuntu 16.04)并在终端上做puppet --version,它给我3.8.5版本,因此我需要升级它。
现在问题是如何升级它?来自PuppetLabs的文档详细介绍了如何升级木偶代理,主人和服务器,我完全迷失了......我认为我想要的是一个独立的自包含架构?对于我的案例,代理/主体架构似乎更加工作和不必要。 PuppetLabs文档(https://puppet.com/docs/puppet/5.0/install_pre.html)更侧重于代理/服务器设置,而在独立架构上几乎没有任何内容。我在https://puppet.com/docs/puppet/5.0/puppet_platform.html#ubuntu-1604-xenial-xerus尝试了Ubuntu 16.04 Xenial Xerus的步骤无效,即使安装puppet5,版本仍保持在3.8.5。
我试过这个puppet not upgrading in Ubuntu 12.04 这让我得到3.8.5版本,但我如何进入v5?
对于更多上下文,这是一个我想要做的简单测试,调用test :: passVar并将终止的值打印到终端:
init.pp
class test() {
notice("test")
test::passVar { "Test passing a variable":
test_var => 'testVar',
}
}
passVar.pp
define test::passVar (
$test_var,
) {
notice("test notice")
notice($test_var)
}
要运行此功能,我已完成
puppet apply init.pp
输出显示它已编译完成但我没有看到通知()调用打印出的任何内容。
所以也许我需要v5来运行它?
答案 0 :(得分:2)
我认为您正在安装默认存储库中的默认包,因此要将puppet 5添加到您的系统中,您必须安装puppetlabs存储库。
wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
sudo dpkg -i puppetlabs-release-pc1-xenial.deb
sudo apt-get update
您正在测试的代码非常通用,因此几乎可以运行到任何puppet版本中,尝试在命令中添加-debug标志,并查看通知函数是否显示了某些内容。
答案 1 :(得分:2)
今天正在努力解决这个问题。找到了这个教程https://www.youtube.com/watch?v=Iim09ULXV60。
tl; dr你需要从https://downloads.puppetlabs.com/puppet/抓取puppet5 tarball并安装它。
$> wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
$> sudo dpkg -i puppetlabs-release-pc1-xenial.deb
$> sudo apt-get update
$> sudo apt-get install puppet
... same as Marvin Velasquez wrote above ...
$> puppet -V # output is still 3.8.5, wtf?
$> wget https://downloads.puppetlabs.com/puppet/puppet-5.3.3.tar.gz
$> tar -xzvf puppet-5.3.3.tar.gz # note: may want to untar this into a more permanent place than your homedir as I did.
$> cd puppet-5.3.3
$> sudo ./install.rb
$> puppet -V # output is 5.3.3
无法解释为什么puppetlabs不会将更新的版本作为默认版本,或者为什么这些信息不能在puppetlabs'上随时可用。现场。让我觉得我做错了什么。
答案 2 :(得分:2)
如果您查看https://puppet.com/docs/puppet/5.3/install_linux.html处的文档,您会看到一个部分(在设置相应的存储库之后,您在上面做了)
3.使用适合您系统的命令在Puppet代理节点上安装puppet-agent包:
◦Yum - sudo yum install puppet-agent
◦Apt - sudo apt-get install puppet-agent
◦Zypper - sudo zypper install puppet-agent
您似乎执行了sudo apt-get install puppet
,它仍然指向基本Ubuntu存储库中的系统包,版本为3.8.5
另外要提到的是默认情况下木偶不在您的路径中,它安装在/ opt / puppetlabs / bin / puppet下,如上面提到的设置文档的步骤5中所述,如果您希望从您的终端,您需要确保位置在您的路径中。
5.启动傀儡服务:sudo / opt / puppetlabs / bin / puppet资源服务puppet ensure = running enable = true。
答案 3 :(得分:0)
傀儡3.8和4之间有很大的变化;值得你阅读它们。
https://puppet.com/docs/puppet/4.10/index.html#upgrading-from-puppet-3
puppet 5的升级文档说明了3.8的升级路径:“从Puppet 3.8.x升级 您可以使用主要升级指南从Puppet 3.8.x升级,但此升级路径尚未经过测试或验证。“
https://puppet.com/docs/puppet/5.3/index.html#upgrading-from-puppet-38x
所以我建议先从3.8升级到4.10;然后到5.x
答案 4 :(得分:-2)
所以解决方案最终并没有真正成为一个解决方案...我在RHEL7上尝试了完全相同的步骤,并且没有麻烦地安装了puppet 5所以我正在使用它。仍然不知道Ubuntu 16.04,但我并不挑剔我在哪里运行它。