将Ubuntu上的木偶升级为木偶5

时间:2018-01-24 01:24:30

标签: ubuntu puppet

我对木偶和虚拟机非常陌生,所以我很难理解文档和所有内容。

我已经获得了一个需要在木偶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来运行它?

5 个答案:

答案 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,但我并不挑剔我在哪里运行它。