Назад | Перейти на главную страницу

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

Я недавно обновил Katello до версии 2.2, а теперь Foreman до 1.8.1, и где-то в обновлении оказывается, что Puppet теперь не может связаться с Foreman:

> [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

Выполняя ту же команду на моем кукловоде, я вижу:

[сертификаты root @ foreman] # /etc/puppet/node.rb virt5

Не удалось отправить факты в Форман: SSL_connect возвращено = 1 errno = 0 состояние = SSLv3 читает билет сеанса сервера A: предупреждение tlsv1 неизвестно ca

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

Я уверен, что упускаю какую-то глупость, я просто не уверен, что это будет.

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

На хосте Foreman / Katello запустите:

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

Где mycapsule.example.com - ваш другой хозяин марионеток.

Распакуйте этот архив и скопируйте RPM сертификата "марионетка-клиент" на свой мастер Puppet и установите его.

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

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"

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