У меня есть Диспетчер выполнения сервера Ubuntu 14.04 и Марионетка (как ведущее устройство), и некоторые другие машины Ubuntu 14.04, которые являются Марионеточными узлами. Я хочу использовать Диспетчера, чтобы удостовериться, что Марионеточным узлам установили определенные пакеты. С постоянной Марионеткой можно включать что-то как
package { "screen":
ensure => "installed"
}
который инициировал способную команду и устанавливает экран. Но я не уверен, как сделать это с Диспетчером. Это даже возможно? Я не нашел ссылок на него, и все мои результаты поиска имеют некоторых с тем, как установить Диспетчера сами.
Во-первых, я не использую Foreman, я использую hiera. Примеры должны дать вам представление о том, для чего нужен ENC, а не предоставить полное руководство по использованию Foreman. Вот один , который охватывает основы.
Во-вторых, Puppetlabs предоставляет сайт, аналогичный этому, для конкретных вопросов марионеток, так что вы можете поискать там для помощи .
Что касается вашего вопроса:
Foreman, как и hiera, является классификатором внешних узлов (ENC) . Это означает, что вы можете использовать его для присоединения загружаемых классов или переменных к узлу, который будет использоваться загруженными классами.
Что вам все еще следует (и нужно) сделать, так это предоставить марионетке модули и манифесты для загрузки .
Таким образом, в качестве примера можно написать модуль с именем misc
, поместить в / etc / puppet / environment / prod / modules / misc
.
class misc {
package { "screen":
ensure => "installed"
}
}
Вы можете использовать Foreman для присоедините класс misc
к образцам узлов node01.example.com
и node02.example.com
, чтобы установить экран на обоих узлах.
Другой пример с использованием переменных :
class misc(
$packages = [ "screen" ],
) {
package { $packages:
ensure => "installed"
}
}
Вы можете использовать Foreman, чтобы присоединить класс misc
к образцам узлов node01.example.com
и node02.example.com
и установить переменную misc :: packages
на что-то вроде ["vim", "screen", "telnet"]
, чтобы установить vim, screen и telnet на обоих узлах.