将 Ubuntu 上的 Puppet 升级到 Puppet 5
Upgrade puppet on Ubuntu to puppet 5
我对 Puppet 和 VM 很陌生,所以我很难理解文档和所有内容。
我得到了一个需要 运行 在 puppet 5 上的 repo,所以我开始 运行 安装它并看看它有什么作用。
我首先获取了一个 linux 虚拟机 (Ubuntu 16.04) 并在终端上执行 puppet --version ,它给出了 3.8.5 版本,因此我需要升级它。
现在的问题是如何升级它? PuppetLabs 的文档详细介绍了有关升级 puppet-agents 和 masters 以及服务器的信息,我完全迷失了……我想我想要的是一个独立的自包含架构? agent/master 架构对于我的情况来说似乎需要更多的工作而且是不必要的。 PuppetLabs 文档(https://puppet.com/docs/puppet/5.0/install_pre.html) focuses more on agent/server setup with pretty much nothing on the standalone architecture. I've tried the steps for Ubuntu 16.04 Xenial Xerus at https://puppet.com/docs/puppet/5.0/puppet_platform.html#ubuntu-1604-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
输出显示它已编译并完成,但我没有看到 notice() 调用打印出任何内容。
所以也许我需要 v5 才能 运行 这个?
我认为您正在安装默认存储库中的默认包,因此要将 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 标志添加到您的命令中,看看通知功能是否显示了一些东西。
所以这个解决方案最终并不是一个真正的解决方案...我在 RHEL7 上尝试了完全相同的步骤并且安装了 puppet 5 没有任何麻烦所以我改用它。仍然不知道 Ubuntu 16.04,但我对 运行 它的位置并不挑剔。
今天正在为此苦苦挣扎。找到这个教程 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 的网站上不容易获得此信息。让我觉得我做错了什么。
如果您在 https://puppet.com/docs/puppet/5.3/install_linux.html 查看文档,您将看到一个部分(在设置适当的存储库之后,您在上面所做的)
3.Install the puppet-agent package on your Puppet agent nodes using the command appropriate to your system:
◦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
另一件事是默认情况下 puppet 不在您的路径中,它安装在 /opt/puppetlabs/bin/puppet 下,如上述设置文档的第 5 步中所述 如果您希望从您的终端,您需要确保该位置在您的路径中。
5.Start the puppet service: sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true.
puppet 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
我对 Puppet 和 VM 很陌生,所以我很难理解文档和所有内容。
我得到了一个需要 运行 在 puppet 5 上的 repo,所以我开始 运行 安装它并看看它有什么作用。
我首先获取了一个 linux 虚拟机 (Ubuntu 16.04) 并在终端上执行 puppet --version ,它给出了 3.8.5 版本,因此我需要升级它。
现在的问题是如何升级它? PuppetLabs 的文档详细介绍了有关升级 puppet-agents 和 masters 以及服务器的信息,我完全迷失了……我想我想要的是一个独立的自包含架构? agent/master 架构对于我的情况来说似乎需要更多的工作而且是不必要的。 PuppetLabs 文档(https://puppet.com/docs/puppet/5.0/install_pre.html) focuses more on agent/server setup with pretty much nothing on the standalone architecture. I've tried the steps for Ubuntu 16.04 Xenial Xerus at https://puppet.com/docs/puppet/5.0/puppet_platform.html#ubuntu-1604-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
输出显示它已编译并完成,但我没有看到 notice() 调用打印出任何内容。
所以也许我需要 v5 才能 运行 这个?
我认为您正在安装默认存储库中的默认包,因此要将 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 标志添加到您的命令中,看看通知功能是否显示了一些东西。
所以这个解决方案最终并不是一个真正的解决方案...我在 RHEL7 上尝试了完全相同的步骤并且安装了 puppet 5 没有任何麻烦所以我改用它。仍然不知道 Ubuntu 16.04,但我对 运行 它的位置并不挑剔。
今天正在为此苦苦挣扎。找到这个教程 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 的网站上不容易获得此信息。让我觉得我做错了什么。
如果您在 https://puppet.com/docs/puppet/5.3/install_linux.html 查看文档,您将看到一个部分(在设置适当的存储库之后,您在上面所做的)
3.Install the puppet-agent package on your Puppet agent nodes using the command appropriate to your system:
◦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
另一件事是默认情况下 puppet 不在您的路径中,它安装在 /opt/puppetlabs/bin/puppet 下,如上述设置文档的第 5 步中所述 如果您希望从您的终端,您需要确保该位置在您的路径中。
5.Start the puppet service: sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true.
puppet 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