Если у вас есть модуль Apache в правильном пути к модулю, проблема в том, что у вас нет кода для включения модуля.
Для простоты давайте забудем о структуре файла на мастере Puppet и т. Д. И просто создадим файл apache.pp (сохраните его в / tmp или где угодно) и передайте ему следующее содержимое:
class apache2 {
package {'apache2':
ensure => 'present',
}
}
include apache2
Теперь попробуйте:
$ sudo puppet apply apache.pp
Вы должны увидеть, как Puppet установил пакет apache2.
Тем не менее, по соглашению, а также для правильной интеграции с мастером Puppet, теперь вам нужно поместить это содержимое в ожидаемые местоположения файлов.
Класс apache (код, который у вас уже был) должен находиться в файле ${modulepath}/apache2/manifests/init.pp
.
Это должно удовлетворить автозагрузчик Puppet . Вы можете узнать больше об этом здесь .
Между тем, modulepath задокументирован здесь , и он может варьироваться в зависимости от версии Puppet и от того, как вы все настроили.
Чтобы узнать ваш путь к модулю, попробуйте:
$ sudo puppet config print modulepath
Теперь, если у вас есть все файлы на месте, вы сможете включить этот класс другим способом, например так:
$ sudo puppet apply -e "include apache2"
Как только вы начнете работать, самое время прочитать о шаблоне ролей и профилей .