使用工头安装软件包

我有一个运行Foreman和Puppet(作为主)的Ubuntu 14.04服务器,以及一些其他的Ubuntu 14.04机器,它们是Puppet节点。 我想用Foreman来确保Puppet节点安装了某些软件包。 对于普通的木偶,你可以包括类似的东西

package { "screen": ensure => "installed" } 

触发一个apt命令并安装屏幕。 但我不知道如何与福尔曼做到这一点。 这甚至有可能吗? 我还没有find任何的引用,所有的search结果有一些如何安装福尔曼本身。

首先,我不使用Foreman,我使用hiera。 这些例子应该让你知道什么是ENC,而不是提供一个完整的使用工头的方法。 这是一个涵盖基础知识。

其次,傀儡提供了一个类似的网站,这个傀儡具体问题,所以你可能想要寻求帮助 。

在你的问题上:

工头像hiera一样是一个外部节点分类器(ENC) 。 这意味着,您可以使用它来附加要加载的类或variables到被加载的类使用的节点。

你还应该(而且必须)做的是提供模块和清单加载木偶。

所以一个例子就是编写一个名为misc的模块,放在/etc/puppet/environment/prod/modules/misc

 class misc { package { "screen": ensure => "installed" } } 

您可以使用Foreman将类misc附加到样本节点node01.example.comnode02.example.com以在两个节点上安装屏幕。

另一个例子使用variables:

 class misc( $packages = [ "screen" ], ) { package { $packages: ensure => "installed" } } 

您可以使用Foreman将类misc附加到示例节点node01.example.comnode02.example.com ,并将variablesmisc::packages为类似[ "vim", "screen", "telnet" ]以使它在两个节点上安装vim,screen和telnet。