Puppet не может отправить факты Форману - «tlsv1 alert unknown ca»

Puppet не может отправить факты Форману - «tlsv1 alert unknown ca»

Я недавно обновилКателлок2.2имастертеперь к1.8.1, поэтому где-то в обновлении появляется информация, что Марионетка теперь не может связаться с Форманом:

> [root@virt5 ~]# puppet agent --test info: 
> Retrieving plugin <snipped>
> err: Could not retrieve catalog from remote server: Error 400 on
> SERVER: Failed when searching for node virt5: Failed to find virt5.
> via exec: Execution of '/etc/puppet/node.rb virt5' returned 1:
> warning: Not using cache on failed catalog err: Could not retrieve
> catalog; skipping run

При запуске той же команды на моем puppetmaster я вижу:

[root@foreman certs]# /etc/puppet/node.rb virt5

Не удалось отправить данные Foreman: SSL_connect вернул = 1 errno = 0 state = SSLv3 read server session ticket A: tlsv1 alert unknown ca

Я попытался скопировать/etc/pki/katello/certs/katello-default-ca.crtсертификат, используемый httpd для/etc/pki/ca-trust/source/anchors/а затем запустить update-ca-trust extract, но, похоже, это не имело никакого значения.

Я уверен, что упускаю какую-то глупость, просто не уверен, что именно.

решение1

Одна из ошибок, которую я здесь вижу (она должна быть более ясна в документации), заключается в том, что вы полагаете, что Katello использует сертификаты Puppet, как Foreman, но это не так.

На хосте Foreman/Katello:

capsule-certs-generate --capsule-fqdn "mycapsule.example.com"\ 
                       --certs-tar "~/mycapsule.example.com-certs.tar"

Где mycapsule.example.com — ваш второй Puppet master.

Распакуйте этот tarball и скопируйте RPM-файл сертификата "puppet-client" на ваш Puppet master, а затем установите его.

Скопируйте несколько файлов:

cp /etc/pki/katello-certs-tools/certs/*-puppet-client.crt /etc/puppet/foreman.crt
cp /etc/pki/katello-certs-tools/private/*-puppet-client.key /etc/puppet/foreman.key
cd /etc/puppet
wget https://katello.mydomain.net/pub/katello-default-ca.crt
chown puppet /etc/puppet/foreman.{crt,key} /etc/puppet/katello*

Настройте ваш /etc/puppet/foreman.yaml следующим образом:

:url: "https://katello.mydomain.net"
:ssl_ca: "/etc/puppet/katello-default-ca.crt"
:ssl_cert: "/etc/puppet/foreman.crt"
:ssl_key: "/etc/puppet/foreman.key"

Надеюсь, это сработает.

Связанный контент