Серверы Linux в моей компании настраиваются и управляются Puppet, который устанавливается вместе с Foreman.
Глядя на панель управления Foreman, я вижу, что 95% серверов отображаются как синхронизированные и обновленные (синий значок), а 20 серверов, у которых нет известных точек соприкосновения, отображаются как несинхронизированные и не обновленные.
Глядя на /etc/puppet/puppet.conf
файл на любом из агентов Puppet (тех, которые обновляются или те, которые не обновляются), я вижу, что он настроен следующим образом:
[main]
# The Puppet log directory.
# The default value is '$vardir/log'.
logdir = /var/log/puppet
# Where Puppet PID files are kept.
# The default value is '$vardir/run'.
rundir = /var/run/puppet
# Where SSL certificates are kept.
# The default value is '$confdir/ssl'.
ssldir = $vardir/ssl
[agent]
# The file in which puppetd stores a list of the classes
# associated with the retrieved configuratiion. Can be loaded in
# the separate ``puppet`` executable using the ``--loadclasses``
# option.
# The default value is '$confdir/classes.txt'.
classfile = $vardir/classes.txt
# Where puppetd caches the local configuration. An
# extension indicating the cache format is added automatically.
# The default value is '$confdir/localconfig'.
localconfig = $vardir/localconfig
Это конфигурация по умолчанию, входящая в пакет.
Вы можете увидеть это под [agent]
раздел единственные настроенные директивы classfile
и localconfig
в то время как на сервере Puppet /etc/puppet/puppet.conf
раздел "[агент]" выглядит так:
[agent]
# The file in which puppetd stores a list of the classes
# associated with the retrieved configuratiion. Can be loaded in
# the separate ``puppet`` executable using the ``--loadclasses``
# option.
# The default value is '$statedir/classes.txt'.
classfile = $vardir/classes.txt
# Where puppetd caches the local configuration. An
# extension indicating the cache format is added automatically.
# The default value is '$confdir/localconfig'.
localconfig = $vardir/localconfig
# Disable the default schedules as they cause continual skipped
# resources to be displayed in Foreman - only for Puppet >= 3.4
default_schedules = false
report = true
pluginsync = true
masterport = 8140
environment = production
certname = puppet.nj.company.com
server = puppet.nj.company.com
listen = false
splay = false
runinterval = 1800
noop = false
configtimeout = 120
Итак, мои вопросы:
Большинство настроек в [agent]
на вашем сервере - значения по умолчанию, и вам не нужно копировать их своим клиентам. Единственное, что действительно имеет значение, это server
если по умолчанию puppet
(полагаясь на поисковый домен) недостаточно. Поскольку вы говорите, что запуск Puppet работает вручную, я думаю, вам даже не о чем беспокоиться.
Похоже, что ваши клиенты не используют службу агента Puppet. Запустите его и убедитесь, что он настроен на запуск при загрузке.
Puppet использует модель получения конфигурации, поэтому вам необходимо запускать агент для получения конфигурации от мастера каждые 30 минут по умолчанию, когда агент работает как служба. Обычно вы настраиваете агент для запуска при загрузке во время подготовки.
например бегать service puppet start
или systemctl start puppet
(systemd) и если вы используете ОС типа Red Hat, также запустите systemctl enable puppet
(systemd) или chkconfig puppet on
.