Ubuntu

使用 Foreman 安裝軟體包

  • February 11, 2015

我有一個執行 Foreman 和 Puppet(作為主機)的 Ubuntu 14.04 伺服器,以及其他一些作為 Puppet 節點的 Ubuntu 14.04 機器。我想使用 Foreman 來確保 Puppet 節點安裝了某些軟體包。使用正常 Puppet,您可以包含類似

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

這會觸發一個 apt 命令並安裝螢幕。但我不確定如何與 Foreman 一起做這件事。甚至可能嗎?我沒有找到任何對它的引用,而且我所有的搜尋結果都與如何安裝 Foreman 本身有關。

首先,我不使用 Foreman,我使用 hiera。這些範例應該讓您了解 ENC 的用途,而不是提供使用 Foreman 的完整方法。這是一個涵蓋基礎知識的內容。

其次,Puppetlabs 為 puppet 特定問題提供了一個與此類似的站點,因此您可能想在那裡尋求幫助

關於你的問題:

Foreman 和 hiera 一樣,是一個外部節點分類器 (ENC)。這意味著,您可以使用它將要載入的類或變數附加到要被載入的類使用的節點。

您仍然應該(並且必須)做的是為 puppet 提供要載入的模組和清單。

所以一個例子是編寫一個名為的模組misc,放入/etc/puppet/environment/prod/modules/misc

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

您可以使用 Foreman 將類附加misc到範例節點node01.example.comnode02.example.com在兩個節點上安裝 screen。

另一個使用變數的例子:

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

您可以使用 Foreman 將類附加misc到範例節點node01.example.comnode02.example.com,並將變數設置misc::packages為類似[ "vim", "screen", "telnet" ]使其在兩個節點上安裝 vim、screen 和 telnet。

引用自:https://serverfault.com/questions/666591