Я новичок в Puppet. Я пытаюсь установить сценарий оболочки и выполнить его с помощью Puppet. Сценарий оболочки после запуска создает еще один файл конфигурации и помещает его в указанное место /usr/local/conf/app.conf. Как я могу написать кукольный код для выполнения этого скрипта, а затем взять выходной файл и передать его на другой сервер (в моем случае это веб-сервер). Может кто-нибудь, пожалуйста, помогите.
Как установить и запустить скрипт в Puppet
Ответы (1)
Предположим, вы разработали модуль с именем webconfig, а каталог конфигурации puppet — /etc/puppet.
Вам нужно будет сохранить свой сценарий оболочки как /etc/puppet/modules/webconfig/files/script.sh
Ваш кукольный код будет частично выглядеть так:
file { '/path/to/script.sh':
ensure => present,
source => 'puppet:///modules/webconfig/script.sh',
mode => '0644',
owner => 'root',
group => 'root',
}
->
exec { 'Generate the config':
command => '/path/to/script.sh',
cwd => '/path/to',
user => 'root',
}
->
exec { 'SCP the config':
command => 'scp /usr/local/conf/app.conf user@remote-server:',
cwd => '/path/to',
user => 'root',
}
person
Ali Ganjei
schedule
16.02.2016
Благодарю вас! Это помогает. Таким образом, если клиент puppet работает на удаленном сервере и зарегистрирован на мастере puppet, работающем на другом сервере, то можно ли напрямую выполнить этот модуль puppet на удаленном сервере, устраняя необходимость в scp?
- person Mark; 18.02.2016
Что ж, если марионеточный агент работает на целевом веб-сервере, генерируя файл конфигурации где-то еще и используя SCP, это не будет лучшим решением. Как вы упомянули, лучше исключить SCP и сгенерировать конфиг на самом сервере. Кроме того, вместо сценария оболочки вы обычно создаете конфигурацию, используя шаблон erb и богатые встроенные и расширенные функции puppet.
- person Ali Ganjei; 19.02.2016