Что представляет собой марионеточный способ отправки конфигураций вместе с запросом от агента марионеток

Я хочу сделать некоторые детали динамической конфигурации на стороне мастера Puppet, прежде чем он будет развернут на агенте Puppet. Поэтому я хочу отправить значительное количество деталей конфигурации вместе с запросом агента к мастеру. Есть ли правильный способ сделать это в марионетке?

С уважением, Малинта Адиакри

2 ответа

Решение

Да! Есть фейтер. Это то, как я использую это и что я считаю наиболее надежным, но есть и другие способы определения новых фактов.

Например, если вы хотите добавить роль сервера, то вы можете сделатьexport FACTER_ROLE=jenkins

Теперь вы можете увидеть эту команду facter role будет печатать Дженкинс. Ура! После запуска агента Puppet все факты, известные системе, будут переданы затем администратору пакетов. Помните, что сервисная марионетка не будет знать факт, который вы только что определили, потому что он работает в другой области.

Я помещаю свои факты в файл.facts и получаю их перед применением.
Это мой скрипт, который запускается из cron:

#!/bin/bash source /root/.facts puppet agent -t --server puppetmaster.example.com --pluginsync

Хотя предыдущий ответ правильный, я открываю его как новый, потому что это важно. определяющий FACTER_factname Переменные в среде агента - хороший и быстрый способ переопределить некоторые факты. Если вы хотите полагаться на собственные факты в производственных целях, вам следует обратить внимание на пользовательские факты.

В его базовой форме вы используете его, развертывая фрагменты кода Ruby на своем боксене. Для более легкого подхода обратите особое внимание на внешние факты. Это, вероятно, лучшее решение для вашей проблемы.

Также обратите внимание, что начиная с Facter 2 вы можете содержать сложные структуры данных в ваших фактах и ​​вам не нужно сериализовать все в строки. Как вы подчеркиваете, если объем данных от агента велик, это может быть полезно.

Другие вопросы по тегам