Puppet для управления и автоматизации Linux часть 3.

Введение.

Рассмотрев в части 2 вопрос развёртывания Мастер-сервера Puppet, переходим к установке Puppet-agent (ов). Требования к Puppet-agent не особенно строгие, это небольшая программа не представляющая особых трудностей в установке. Вопрос в другом — настройка доверительных отношений между Puppet-agent и сервером с помощью SSL сертификата. Здесь обычно сталкиваются с проблемами от которых зависть работа всей платформы или дальнейшая её эксплуатация. В этой части мы сделаем первое приближение к вопросу настройки агента, подробности рассмотрим в часть 4.

Установка Puppet-agent.

  • Стенд
    • Cервер ALT Linux , имя lin-pup; ip-10.0.2.33
    • CPU Intel Core 5
    • HDD >100Gb
    • ОЗУ > 8Gb
    • ALT Simply Linux, имя lin-sl; ip-10.0.2.32
CPUsGHzGiB memoryOS
12.40.5Linux
Минимальные требования к клиенту Puppet.

В предыдущей части мы развернули мастер-сервер. Вместе с серверным пакетом был установлен Puppet-agent. Роль агента является важной составляющей для успешной работы платформы в целом. Проверить работу серверного агента можно командой:

# puppet agent --test
Info: Using environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for lin-pup
Info: Applying configuration version '1701625263'
Info: Creating state file /var/cache/puppet/state/state.yaml
Notice: Applied catalog in 0.01 seconds

Листинг выводит рабочею информацию о полученных плагинах, каталоге кешировании, его версии, а также скорости обращения к папке сценариев. Последний параметр особенно важен т.к именно от скорости передачи, зависит выполнения командных кодов получаемых от сервера.

Создание сертификата CA.

На стороне сервере необходимо выполнить манипуляции, позволяющие создать доверительные отношения с Puppet-agent на клиентских станциях. Доверительные отношения Puppit строит с помощью сертификатов SSL, центра сертификации (CA), развёрнутого при установке Мастер-сервера.

Если мы откроем консоль и посмотрит, какие сертификаты уже присутствуют после установки, то увидим, один подписанный ключ принадлежащий Puppet-agent сервера.

# puppetserver ca list --all ... Signed Certificates: lin-pup (SHA256) A8:C5:50:EF:EA:13:1F:C3:A1:DA:AC:4A:72:41:72:A6:A6:54:6E:92:50:4B:F7:00:E3:0D:F0:94:30:CD:18:DE
alt names: ["DNS:puppet", "DNS:lin-pup"] authorization extensions: [pp_cli_auth: true]

Правильную работу Puppet-agent на сервере проверяют командой.

# puppet agent --test

Из сказанного выше становится видно — работа и настройка Puppet-agent на мастер сервере не требует особых усилий. Это не относится к агентам работающих на клиентских устройствах, здесь, как правило, возникают трудности..

Создание сертификата на клиенте.

Под клиентом мы понимаем рабочею станцию или иное устройство обслуживаемое Puppit. У нас имеется стендовая рабочая станция lin-sl, развернём на ней puppet-агент, после чего выполним запрос к CA мастер-сервера для получения подписи.

Как puppet-agent работает?.

После установке клиента Puppet, при запуске командного сценария puppet ssl bootstrap, генерируются ключи (сертификаты) открытый и закрытий. После чего один из ключей, этой сладкой парочки, ставится в очередь на подпись СА мастер-сервера. Специально обученный пользователь с помощью консольной команды осуществляет подпись сертификатов. PS. Puppet имеет возможность включения режима автоподписи ключей.

Подпись CA подтверждает подлинность подключенного устройства по защищённому каналу.

Развёртывание Puppet-agent.

Установим свежею версию агента на клиентской станции.

# apt-get update
# apt-get install puppet
# systemctl start puppet
# systemctl enable puppet

В библиотеке Puppt имеется сценарий, который вносит изменения в конфигурацию агента puppet.conf для соединения с сервером.

# puppet config set server lin-pup --section main

Эту операцию можно произвести в ручную, отредактировав файл /etc/puppet/puppet.conf, секции [main], на server — lin-pup.

Узнать путь к каталогу SSL агента можно запустив сценарий:

# puppet config print ssldir --section agent

Остаётся проверить состояние сертификатов.

# puppet ssl bootstrap
Notice: Completed SSL initialization

Листинг печатает сообщение «запрос на создание SSL создан».

Дерево каталогов puppet-агент.

  • /etc/puppet — базовый каталог агента
    • /code — каталог кода и данных
      • /enviroment…
        • /production…
          • /manifests — каталог манифестов
      • /modules — каталог модулей
  • /devices — каталог устройств
  • /ssl — каталог сертификатов
    • /cetificate_requests — сертификаты для подписи (CSR)
    • cert
    • /private
    • /private_keys — закрытый ключ
    • /public_keys — открытый ключ
    • crl.pem…
  • auto.conf …
  • autosign.conf — настройки автоподписи для сервера CA
  • fileserver.conf…
  • puppet.conf…

Заключение.

В этой части рассмотрены общие вопросы технологического процесса установки Puppet-agent и проверки соединения SSL с мастер сервером. Агент начинает работать сразу на сервере и как правило вопросов не возникает. Другое дело клиентские устройства, здесь возникают трудности, ответы на которые мы рассмотрим в следующей, четвертой части нашего романа.

Полезные ссылки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Copyright © 2011-2024
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты