Я знаю, что этот вопрос задали прежде во многих другой вариант. Я читал все сообщение, связанное с проблемой, но я не могу получить агент и ведущее устройство, говорящее друг с другом. Я загружаю 2 vm через vmwork станцию оба работающих linuxmint 17.
Я запущу этот поток путем сообщения того, что является моим/etc/hosts и/etc/hostname в клиенте, и puppetmaster похож.
В vm моего клиента мое имя хоста в/etc/hostname похоже на следующее:
puppetclient
хосты vm моего клиента в/etc/hosts похожи на следующее:
127.0.0.1 localhost
127.0.1.1 puppetclient
192.168.75.143 puppetmaster
В vm моего ведущего устройства/etc/hostname похож на следующее:
puppetmaster
vm моего ведущего устройства/etc/hosts похож на следующее:
127.0.0.1 localhost
127.0.1.1 puppetmaster
192.168.75.144 puppetclient
Мой/etc/puppet/puppet.conf в моем ведущем устройстве похож на следующее:
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post
[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
мой/etc/puppet/puppet.conf в моем клиенте похож на следующее:
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post
[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
[agent]
server=puppetmaster
У меня есть многие вариант puppet.conf во время моего поиска, и я не испытываю желание отправлять здесь. Один из варианта должен иметь server=puppetmaster
в [основном] и в моем клиенте и в vm ведущего устройства. Так или иначе для всех puppet.conf вариантов я попробовал, моя первая ошибка, когда я работаю sudo puppet agent --test
всегда warning: unable to fetch my node definitoin, but agent run will continue:
ошибка после этого отличается для каждого варианта puppet.conf, который я реализую. Кто-либо может сказать мне правильную конфигурацию для моей установки?
Спасибо
Похоже, вы сначала установили и запустили своего хозяина марионеток, а затем изменили имя хоста.
На мастере марионеток выполните:
имя сертификата печати конфигурации марионетки
Это покажет имя сертификата, которое использует ваш мастер. Оно должно быть равно вашему имени хоста.
Вы можете проверить общее имя в сертификате мастера, если оно совпадает с вашим именем хоста:
openssl x509 -noout -subject -in $(puppet config print ssldir)/certs/$(puppet config print certname).pem
Также я рекомендую использовать полное доменное имя в конфигурации марионетки. Если имя хоста отличается, самый простой способ - просто удалить или переименовать SSL dir:
mv $(puppet config print ssldir){,_}
и перезапустить мастер марионеток. Вам также нужно будет сделать это на клиентском узле, потому что CA изменится.