2016-12-26 2 views
1

У меня есть сервер Puppet на CentOS Linux 7 (Core).Невозможно подключиться к Enterprise Puppet серверу с помощью агента Windows

# /opt/puppetlabs/bin/puppetserver --version 
puppetserver version: 2016.5.0.11 

Я установил Enterprise Puppet agent на сервер Win Server 2008 R2 Enterprise (64-разрядный).

C:\Users\Administrator>puppet --version 
4.8.1 

При попытке подключения к серверу кукол, я получаю только следующий вывод:

C:\Windows\system32>puppet agent --test 
Exiting; no certificate found and waitforcert is disabled 

на сервере, если я проверить любой запрос в ожидании серт подписания, я ничего не вижу:

# puppet cert --list 

Я проверил, что я могу подключиться к серверу Puppet на порту 8140 из моего агента агента Win.

Также показано ниже: Служба кукол работает как пользователь локальной системы.

enter image description here

Мой сервер кукол следующая запись в /etc/puppetlabs/puppet/puppet.conf

[main] 
certname = gc.abc.com 
server = gc.abc.com 
user = pe-puppet 
group = pe-puppet 
environment_timeout = 0 
app_management = true 
module_groups = base+pe_only 
environmentpath = /etc/puppetlabs/code/environments 
codedir = /etc/puppetlabs/code 

[agent] 
graph = true 

[master] 
node_terminus = classifier 
storeconfigs = true 
storeconfigs_backend = puppetdb 
reports = puppetdb 
certname = gc.abc.com 
always_cache_features = true 

На Win агента, я уточнил имя Puppet сервера в файле хост:

xx.yy.zz.zzz puppet-server 

на Win агента, я также упомянул имя сервера в C: \ ProgramData \ PuppetLabs \ кукольный \ и т.д. \ puppet.conf файл

[main] 
server=puppet-server 
autoflush=true 
environment=production 

Любые указатели?

+0

Что вы видите, когда запускаете 'sudo puppet cert list' с сервера? https://docs.puppet.com/puppet/latest/man/cert.html – ferventcoder

+0

Я не вижу никакого вывода из приведенной выше команды. – Technext

+0

Поскольку он не работал, я подумал о том, чтобы попробовать установить Enterprise. Однако этот вопрос по-прежнему сохраняется. Я полагаю, что доступ к порту 8140 из экземпляра клиента является предпосылкой для подключения, правильно? – Technext

ответ

1

От IRC (@ binford2k), я получил следующее предложение:

«Выход из, сертификат не найден и waitforcert отключен» означает, что клиент уже произвел CSR. Если у него есть CSR, то он не будет пытаться генерировать другой. Однако, если каким-то образом КСО не дойдет до мастера, тогда мастер не узнает об этом, и агент не будет пытаться снова, потому что у него есть CSR. Чтобы устранить это, удалите SSL-агент на агенте, а затем снова попробуйте запустить куклу.

Когда я удалил SSL-каталог (C: \ ProgramData \ PuppetLabs \ puppet \ etc \ ssl) в соответствии с приведенным выше предложением и снова запустил марионетную команду, он сработал. :)

C:\Windows\system32>puppet agent --test --server=puppet-server 
Info: Creating a new SSL key for gc.abc.com 
Info: Caching certificate for ca 
Info: csr_attributes file loading from C:/ProgramData/PuppetLabs/puppet/etc/csr_ 
attributes.yaml 
Info: Creating a new SSL certificate request for gc.abc.com 
Info: Certificate Request fingerprint (SHA256): 99:02:46:D1:A4:32:6F:A5:CE:06:39 
:3E:A4:35:D2:88:C1:9A:D1:2E:58:27:B0:ED:24:F9:DC:77:D9 
Info: Caching certificate for ca 
Exiting; no certificate found and waitforcert is disabled 
Смежные вопросы