Smart Proxy: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 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

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


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