2014-06-16 9 views
0

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

С уважением, Malintha Adiakri

ответ

2

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

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

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

Я помещал свои факты в файл .facts и источник, прежде чем применять.
Это мой скрипт, который работает с хрон:

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

+0

Благодарим вас за ответ. Теперь я запускаю команду «sudo puppet agent -test», чтобы триггер узла агента. Согласно моему пониманию, если мы хотим отправить атрибут «FACTOR_ROLE» марионеточному агенту, мы можем это сделать, выполнив команду агента sudo puppet agent -test export FACTER_ROLE = jenkins в стороне агента. Правильно ли я в этом случае? – Malintha

+1

Да, да. Я обновил свой ответ. – 3h4x

+0

"pluginsync" отправляет факсов на мастер здесь? – Malintha

1

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^