Smart Proxy: различия между версиями
Зануда (обсуждение | вклад) Нет описания правки |
Зануда (обсуждение | вклад) Нет описания правки |
||
Строка 16: | Строка 16: | ||
=== Настройка === | === Настройка === | ||
Пред запуском сервиса проверяем содержимое файлов ниже | |||
''/etc/smart-proxy/config/settings.d/puppetca_http_api.yml'' | |||
--- | |||
# | |||
# URL of the puppet master itself for API requests. | |||
:puppet_url: <nowiki>https://sample.server.name:8140</nowiki> | |||
# | |||
# SSL certificates used to access the CA API. | |||
:puppet_ssl_ca: /etc/puppet/ssl/certs/ca.pem | |||
:puppet_ssl_cert: /etc/puppet/ssl/certs/sample.server.name.pem | |||
:puppet_ssl_key: /etc/puppet/ssl/private_keys/sample.server.name.pem | |||
''/etc/smart-proxy/config/settings.d/puppet_proxy_puppet_api.yml'' | |||
--- | |||
# | |||
# URL of the puppet master itself for API requests. | |||
:puppet_url: <nowiki>https://sample.server.name:8140</nowiki> | |||
# | |||
# SSL certificates used to access the CA API. | |||
:puppet_ssl_ca: /etc/puppet/ssl/certs/ca.pem | |||
:puppet_ssl_cert: /etc/puppet/ssl/certs/sample.server.name.pem | |||
:puppet_ssl_key: /etc/puppet/ssl/private_keys/sample.server.name.pem | |||
# Smart Proxy api timeout when Puppet's environment classes api is used and classes cache is disabled | |||
:api_timeout: 30 | |||
''/etc/smart-proxy/config/settings.d/puppetca.yml'' | |||
--- | |||
# | |||
# PuppetCA management | |||
# Can be true, false, or http/https to enable just one of the protocols | |||
# | |||
:enabled: http | |||
# valid providers: | |||
# - puppetca_hostname_whitelisting (verify CSRs based on a hostname whitelist) | |||
# - puppetca_token_whitelisting (verify CSRs based on a token whitelist) | |||
:use_provider: puppetca_hostname_whitelisting | |||
# Puppet version used | |||
:puppet_version: 7.1.0 | |||
''/etc/smart-proxy/config/settings.d/puppet.yml'' | |||
--- | |||
# Can be true, false, or http/https to enable just one of the protocols | |||
:enabled: http | |||
# valid providers: | |||
# puppet_proxy_mcollective (uses mco puppet) | |||
# puppet_proxy_ssh (run puppet over ssh) | |||
# puppet_proxy_salt (uses salt puppet.run) | |||
# puppet_proxy_customrun (calls a custom command with args) | |||
#:use_provider: puppet_proxy_customrun | |||
:puppet_version: 7.1.0 | |||
''/etc/smart-proxy/config/settings.d/puppetca_hostname_whitelisting.yml'' | |||
--- | |||
# | |||
# Configuration of the PuppetCA hostname_whitelisting provider | |||
# | |||
:autosignfile: /etc/puppet/autosign.conf | |||
''/etc/smart-proxy/config/settings.d/facts.yml'' | |||
--- | |||
# Can be true, false, or http/https to enable just one of the protocols | |||
:enabled: true | |||
Проверяем наличие файла ''/etc/puppet/autosign.conf'' и установленные на него разрешения | |||
touch /etc/puppet/autosign.conf | |||
chmod 664 /etc/puppet/autosign.conf | |||
=== Запуск службы === | |||
Настройте системную службу smart-proxy на автозапуск (по желанию): | Настройте системную службу smart-proxy на автозапуск (по желанию): | ||
Строка 28: | Строка 99: | ||
# telnet localhost 8000 | # telnet localhost 8000 | ||
=== Настройка подключения Foreman и Smart-proxy === | |||
Настройка соединения Foreman и Smart-proxy производится через веб интерфейс Foreman. | |||
Потребуется перейти в меню '''Инфраструктура -> Капсулы -> Create Smart Proxy''' | |||
или по прямой ссылке | |||
http://sample.server.name:2345/smart_proxies/new | |||
Адрес Smart-proxy ''http://sample.server.name:8000'' | |||
Запустите (через перезапуск) smart-proxy: | |||
# systemctl restart smart-proxy | |||
=== Добавление плагина === | === Добавление плагина === |
Версия от 20:32, 28 января 2021
Smart Proxy
Smart proxy - средство выполняющее вспомогательную для архитектуры Foreman функцию, в организации процесса ввода в работу нового хоста. Для уменьшения задержек в эксплуатации, он может быть размешен на ПК вместе со службой Foreman или на близстоящем ПК. Smart proxy также часто называется как Foreman proxy.
Подготовка
Перед установкой убедитесь, что Foreman установлен и инициализирован. Это важно.
Установка
Чтобы установить средство, нужно от администратора поставить пакет smart-proxy, а всё требуемое вытянется по зависимостям.
# apt-get install smart-proxy
Настройка
Пред запуском сервиса проверяем содержимое файлов ниже
/etc/smart-proxy/config/settings.d/puppetca_http_api.yml
--- # # URL of the puppet master itself for API requests. :puppet_url: https://sample.server.name:8140 # # SSL certificates used to access the CA API. :puppet_ssl_ca: /etc/puppet/ssl/certs/ca.pem :puppet_ssl_cert: /etc/puppet/ssl/certs/sample.server.name.pem :puppet_ssl_key: /etc/puppet/ssl/private_keys/sample.server.name.pem
/etc/smart-proxy/config/settings.d/puppet_proxy_puppet_api.yml
--- # # URL of the puppet master itself for API requests. :puppet_url: https://sample.server.name:8140 # # SSL certificates used to access the CA API. :puppet_ssl_ca: /etc/puppet/ssl/certs/ca.pem :puppet_ssl_cert: /etc/puppet/ssl/certs/sample.server.name.pem :puppet_ssl_key: /etc/puppet/ssl/private_keys/sample.server.name.pem # Smart Proxy api timeout when Puppet's environment classes api is used and classes cache is disabled :api_timeout: 30
/etc/smart-proxy/config/settings.d/puppetca.yml
--- # # PuppetCA management # Can be true, false, or http/https to enable just one of the protocols # :enabled: http # valid providers: # - puppetca_hostname_whitelisting (verify CSRs based on a hostname whitelist) # - puppetca_token_whitelisting (verify CSRs based on a token whitelist) :use_provider: puppetca_hostname_whitelisting # Puppet version used :puppet_version: 7.1.0
/etc/smart-proxy/config/settings.d/puppet.yml
--- # Can be true, false, or http/https to enable just one of the protocols :enabled: http # valid providers: # puppet_proxy_mcollective (uses mco puppet) # puppet_proxy_ssh (run puppet over ssh) # puppet_proxy_salt (uses salt puppet.run) # puppet_proxy_customrun (calls a custom command with args) #:use_provider: puppet_proxy_customrun :puppet_version: 7.1.0
/etc/smart-proxy/config/settings.d/puppetca_hostname_whitelisting.yml
--- # # Configuration of the PuppetCA hostname_whitelisting provider # :autosignfile: /etc/puppet/autosign.conf
/etc/smart-proxy/config/settings.d/facts.yml
--- # Can be true, false, or http/https to enable just one of the protocols :enabled: true
Проверяем наличие файла /etc/puppet/autosign.conf и установленные на него разрешения
touch /etc/puppet/autosign.conf chmod 664 /etc/puppet/autosign.conf
Запуск службы
Настройте системную службу smart-proxy на автозапуск (по желанию):
# systemctl enable smart-proxy
а дальше запустите её:
# systemctl start smart-proxy
Отныне средство будет доступно в запросам http://localhost:8000 для Foreman. Проверить можно например так:
# telnet localhost 8000
Настройка подключения Foreman и Smart-proxy
Настройка соединения Foreman и Smart-proxy производится через веб интерфейс Foreman. Потребуется перейти в меню Инфраструктура -> Капсулы -> Create Smart Proxy или по прямой ссылке
http://sample.server.name:2345/smart_proxies/new
Адрес Smart-proxy http://sample.server.name:8000
Запустите (через перезапуск) smart-proxy:
# systemctl restart smart-proxy
Добавление плагина
Пример добавления плагина puppet_proxy_puppet_api.yml.
Из папки с примерами конфигурационных файлов smart-proxy /usr/lib/ruby/gems/2.5.0/gems/smart_proxy-2.1.0/config/settings.d копируем файл конфигурации в папку /etc/smart-proxy/config/settings.d/ :
# cp /usr/lib/ruby/gems/2.5.0/gems/smart_proxy-2.1.0/config/settings.d/puppet_proxy_puppet_api.yml.example \ /etc/smart-proxy/config/settings.d/puppet_proxy_puppet_api.yml
Изменяем в полученном файле puppet_proxy_puppet_api.yml необходимые параметры применительно к вашей системе:
---
# URL of the puppet master itself for API requests.
:puppet_url: https://sample.server.test:8140
#
# SSL certificates used to access the puppet API
:puppet_ssl_ca: /etc/puppet/ssl/certs/ca.pem
:puppet_ssl_cert: /etc/puppet/ssl/certs/sample.server.test.pem
:puppet_ssl_key: /etc/puppet/ssl/private_keys/sample.server.test.pem
#
Для применения конфигурации перезапускаем службу smart-proxy:
# systemctl restart smart-proxy
Проверка версий
Проверяем версию smart-proxy и подключенных плагинов, используя API запрос:
$ curl -k -H "Accept: application/json" http://localhost:8000/version
Переустановка или обновление
Чтобы переустановить или обновить средство нужно выполнить 2 команды подряд:
# apt-get install smart-proxy # apt-get dist-upgrade
Полное удаление
# apt-get remove gem-smart-proxy