2017-02-05 3 views
1

Я использую следующую версию кукольный на CentOS Linux релиз 7.2:Отключить Кукольный агент runinterval

# puppetserver -v 
puppetserver version: 2016.5.0.11 

У меня есть узел агента Win и я, возможно, несколько позже. версия агента на Win узле:

C:\Windows\system32>puppet --version 
4.8.1 

Я хотел бы, чтобы отключить агент runintervalпостоянно так что я могу только толчок от моего сервера кукольного при необходимости. Я видел несколько ссылок и пытался поместить следующую строку в файл /etc/puppetlabs/puppet/puppet.conf сервера Puppet. Я также перезапустил сервер, но агент добавляет в каталог.

[agent] 
daemonize=false 

Я также хотел бы знать, можно ли отключить runinterval только на определенных узлах. Если да, то как?

+1

У вас есть хороший ответ, объясняющий, как не дать агенту выдавать запросы каталога, но мне непонятно, как вы ожидаете реализовать любой тип отталкивания от ведущего к другим узлам. Не через Puppet, конечно, если это не особенность PE, о которой я не знаю. У Puppet есть * никогда * была функция push, хотя до Puppet 4 у нее была функция удаленного-триггера-каталога-запроса (которая требовала, чтобы агент работал, но не обязательно настроен на выпуск запросов каталога). –

+0

Хотя я не занимался реализацией, я подумал, что «mco» поможет вам в изменении. Разве это невозможно, если служба агента отключена? – Technext

+1

Вы можете использовать MCollective, чтобы заставить агенты выполнять каталожные работы по требованию. Если это удовлетворит ваши потребности, тогда хорошо и хорошо. Тем не менее, это не технически толчок, и он не облегчается основным Puppet. Эти тонкие различия могут не иметь значения для вас. –

ответ

2

Что вы в основном смотрите на то, чтобы остановить обслуживание кукол. Это достигается легче всего с кукольным service ресурсом:

service { 'puppet': 
    ensure => stopped, 
    enable => false, 
} 

Чтобы сделать это только на определенных узлах, просто поставить его для соответствующих определений узлов в вашем классификатором или основном манифеста сайта:

node /ones_to_disable/ { 
    service { 'puppet': 
    ensure => stopped, 
    enable => false, 
    } 
} 

Этом является простым и распространенным методом для выполнения push-стиля Puppet и отключения стиля pull-стиля.

+0

Я также видел вариант «-no-client» где-то, но я не уверен, как я могу использовать это в файле конфигурации и для какого файла это применимо. Это лучший подход, чем отключение службы так, как вы указали? – Technext

+0

@Technext Это очень просто, работает очень хорошо и удовлетворяет вашим потребностям. Может быть даже лучшее решение, чем это, но я не видел его и не реализовал в любой компании, где я был вовлечен в реализацию Puppet. Если вы попытаетесь сделать это в файле конфигурации, он станет клиентским и станет частью процесса начальной загрузки. Этот метод просто работает автоматически для всех будущих подписей на узлы, что является одной из причин, по которым мы идем по этому маршруту. –

+0

Я понимаю, что вы пытаетесь объяснить. Даже я смотрю только на изменение конфигурации на стороне сервера, так как это в любое время проще поддерживать. Кажется, что '--no-client' является клиентским вариантом. Я предполагал иначе. :) Хотя ваше решение прост, я сначала попробую его, а затем обновить. – Technext

0

Если вы хотите отключить агент Puppet на данном узле, вы должны использовать эту команду: puppet agent --disable. Вы можете указать причину, почему вы отключите агент на данном узле. Сообщение, которое вы можете указать, будет напечатано в следующий раз, когда кто-то наберет puppet agent на узле.

+0

Для обоих случаев я ищу изменения, которые необходимо выполнить в файле _config_, а не в командной строке. – Technext

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