Используя кукольную панель в качестве

0 голосов вниз любимый

Я использую множественную настройку Puppet Master и панель управления Puppet, запущенную на отдельном сервере. Я также настроил приборную панель для использования https с пассажиром. Я хотел бы превратить марионеточную панель в ENC.

Я установил следующую конфигурацию для каждого мастера кукол (извините пробелы в ссылке):

node_terminus = exec
external_nodes = /usr/bin/env PUPPET_DASHBOARD_URL=https:// puppet-dashboard /usr/share/puppet-dashboard/bin/external_node

Я отредактировал скрипт ruby ​​external_node и указал URL-адрес https для панели мониторинга, однако я получаю эту ошибку на узлах марионеток:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: 
Failed when searching for node ukserver0028.domain.net: Failed to find ukserver0028.domain.net via exec: Execution of '/usr/bin/env PUPPET_DASHBOARD_URL=https://puppet-dashboard /usr/share/puppet-dashboard/bin/external_node ukserver0028.domain.net' returned 127:
Error: Could not retrieve catalog; skipping run

Selinux настроен на вседозволенность

Я выполнил следующую команду на хозяина кукол

/usr/bin/env PUPPET_DASHBOARD_URL=https://puppet-dashboard /usr/share/puppet-dashboard/bin/external_node ukserver0028.domain.net

но я получаю эту ошибку:

/usr/lib/ruby/1.8/net/http.rb:586:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

Это указало мне на скрипт external_node и путь к сертификатам SSL

CERT_PATH 
PKEY_PATH 
CA_PATH   

Я отредактировал файл external_node и указал на сертификаты, используемые SSL на приборной панели, которые были созданы инструментом rake.

Сертификат рейка $ sudo -u puppet-dashboard:create_key_pair Сертификат рейка $ sudo -u puppet-dashboard: запрос

Я также отметил, что на самом деле общее имя - это приборная панель, а не puppet-dashboard, которая является моим c-именем в DNS. Теперь я могу успешно выполнить следующую команду.

/usr/bin/env PUPPET_DASHBOARD_URL=https://dashboard /usr/share/puppet-dashboard/bin/external_node puppet.domain.net

Однако, если я запускаю ту же команду, используя любой другой узел, кроме master-сервера puppet или сервера puppet-dashboard, я получаю ошибку SSL, я полагаю, так как другие узлы puppet в среде не осведомлены или сертификаты puppet, созданные инструментом rake включить HTTPS на приборной панели.

Следовательно, какие сертификаты я должен использовать в файле external_node?

В дополнение к этому, у меня есть среда песочницы с puppet-dashboard, которая работает только с использованием http. У меня есть настройка, работающая, указав путь к external_node, заданный правильно в puppet.conf, и настроив файл external_node для использования HTTP. Так что при использовании панели мониторинга на HTTPS определенно что-то не так.

Большое спасибо - Оли

1 ответ

Мне удалось это исправить. Как только все настройки были правильными, все работало нормально.

Основными областями были - externode_node должен быть на всех марионеточных мастерах и на сервере панели марионеток. Расположение сертификатов должно быть тем, которое создается инструментами граблей при включении https на панели инструментов. Вы можете увидеть их в файле settings.yml на сервере панели мониторинга. Убедитесь, что в DASHBOARD_URL вы используете общее имя в сертификате, созданном инструментом rake, в большинстве случаев это панель инструментов. При желании вам может потребоваться установить c-имя для приборной панели или A-записи. Убедитесь, что рабочий скрипт external_node скопирован на все главные серверы Puppet и одинаков. Я использовал расположение /usr/share/puppet-dashboard/bin/external_node. Убедитесь, что URL-адрес - https:// панель мониторинга или cn сертификата панели мониторинга. В противном случае вы получите имя SSL не совпадает с ошибкой имени

Файл puppet.conf на каждом мастере имеет 2 строки для включения ENC. Это выглядит следующим образом:

node_terminus = exec
external_nodes = /usr/bin/env PUPPET_DASHBOARD_URL=https:// dashboard/usr/share/puppet-dashboard/bin/external_node

Посмотрите имя панели мониторинга - оно совпадает с именем CN в сертификате панели мониторинга. Убедитесь, что вы перезапускаете httpd на каждом хозяине кукол. Если вы все еще читаете это, удачи!

Другие вопросы по тегам