Понимание экспортируемых ресурсов в марионетке

Для понимания экспортируемых ресурсов в Марионетке, следующая документация была прочитана. После чтения документации понимание было то, что экспортируемые ресурсы состоят из объявления и сбора.

Попытка

На основе документации и понимания экспортируемых ресурсов в Марионетке был создан следующий код:

class test {
  @@file { "/tmp/$hostname": }

  File <<| |>>
}

Ожидаемый

Ожидание состояло в том, что файл/tmp/vm-one будет создан

Текущий

Никакой файл не был создан

[vagrant@vm-one modules]$ sudo puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for vm-one.domain
Info: Applying configuration version '1421499164'
Notice: Finished catalog run in 0.10 seconds
2
задан 15 February 2015 в 22:11
1 ответ

Для правильной работы экспортируемых ресурсов необходимо настроить PuppetDB. Они не будут работать без PuppetDB. Кроме того, вам часто требуются два запуска Puppet для применения ресурсов.

За кулисами происходит следующее:

  • марионеточный агент запрашивает каталог у главного

  • главного компилирует каталог (извлекает экспортированные ресурсы из PuppetDB и сохраняет вновь найденные экспортированные ресурсы обратно в PuppetDB)

  • мастер доставляет каталог агенту

Конечно, экспортировать ресурсы в манифесте для одного узла бесполезно. Идея, лежащая в их основе, заключается в том, что отдельные узлы могут сообщать о некоторых из своих ресурсов, которые позже собираются другим узлом, на котором вы хотите, чтобы они были применены.

Вот пример: если вы хотите вставить проверки Nagios в каждый из ваших services, вы не хотите применять и собирать эти проверки на узлах, где находятся службы, но вы хотите собрать их все на узле Nagios.

Надеюсь, это поможет.

4
ответ дан 3 December 2019 в 10:02

Теги

Похожие вопросы