В Puppet архитектура клиент-сервер мастера Puppet рассматривается как контролирующий орган всей установки. Хозяин Puppet действует как сервер в настройке и контролирует все действия на всех узлах.
Для любого сервера, который должен выступать в качестве мастера Puppet, на нем должно быть запущено программное обеспечение сервера Puppet. Это серверное программное обеспечение является ключевым компонентом контроля всех действий на узлах. В этой настройке следует помнить один ключевой момент — иметь доступ суперпользователя ко всем машинам, которые планируется использовать в настройке. Ниже приведены шаги по настройке Puppet master.
Предпосылки
DNS для частной сети — необходимо настроить прямую и обратную передачу, при этом каждый сервер должен иметь уникальное имя хоста. Если у вас нет настроенного DNS, то вы можете использовать частную сеть для связи с инфраструктурой.
Открытый порт брандмауэра — мастер Puppet должен быть открыт на определенном порту, чтобы он мог прослушивать входящие запросы на конкретном порту. Мы можем использовать любой порт, открытый на брандмауэре.
Создание Puppet Master Server
Мастер Puppet, который мы создаем, будет на компьютере CentOS 7 × 64 с именем Puppet в качестве имени хоста. Минимальная конфигурация системы для создания Puppet master — это два ядра процессора и 1 ГБ памяти. Конфигурация также может иметь больший размер в зависимости от количества узлов, которыми мы будем управлять с помощью этого мастера. В инфраструктуре больше, чем настроено с использованием 2 ГБ оперативной памяти.
Имя хоста | Роль | Частное полное доменное имя |
---|---|---|
Brcleprod001 | Кукольный мастер | bnrcleprod001.brcl.com |
Затем необходимо сгенерировать главный SSL-сертификат Puppet, и имя главного компьютера будет скопировано в файл конфигурации всех узлов.
Установка NTP
Так как мастер Puppet является центральным органом управления для узлов агента в любой данной настройке, одна из главных обязанностей мастера Puppet — поддерживать точное системное время, чтобы избежать потенциальных проблем конфигурации, которые могут возникнуть при выдаче сертификатов агента узлам.
Если возникает проблема временного конфликта, тогда сертификаты могут оказаться устаревшими, если есть расхождения во времени между ведущим и узлом. Протокол сетевого времени является одним из ключевых механизмов, позволяющих избежать подобных проблем.
Список доступных часовых поясов
$ timedatectl list-timezones
Приведенная выше команда предоставит полный список доступных часовых поясов. Это обеспечит регионы доступностью часового пояса.
Следующая команда может быть использована для установки необходимого часового пояса на машине.
$ sudo timedatectl set-timezone India/Delhi
Установите NTP на компьютере сервера Puppet, используя утилиту yum компьютера CentOS.
$ sudo yum -y install ntp
Синхронизируйте NTP с системным временем, которое мы установили в приведенных выше командах.
$ sudo ntpdate pool.ntp.org
В обычной практике мы будем обновлять конфигурацию NTP, чтобы использовать общие пулы, которые доступны ближе к центрам обработки данных компьютеров. Для этого нам нужно отредактировать файл ntp.conf в / etc.
$ sudo vi /etc/ntp.conf
Добавьте сервер времени из доступных часовых поясов пула NTP. Вот как выглядит файл ntp.conf.
brcleprod001.brcl.pool.ntp.org brcleprod002.brcl.pool.ntp.org brcleprod003.brcl.pool.ntp.org brcleprod004.brcl.pool.ntp.org
Сохраните конфигурацию. Запустите сервер и включите демон.
$ sudo systemctl restart ntpd $ sudo systemctl enable ntpd
Настройка программного обеспечения Puppet Server
Программное обеспечение сервера Puppet — это программное обеспечение, которое работает на главном компьютере Puppet. Это машина, которая передает конфигурации на другие машины, на которых запущено программное обеспечение агента Puppet.
Включите официальный репозиторий Puppet labs collection с помощью следующей команды.
$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm
Установите пакет puppetserver.
$ sudo yum -y install puppetserver
Настройте распределение памяти на сервере Puppet
Как мы уже говорили, по умолчанию сервер Puppet настраивается на 2 ГБ ОЗУ. Можно настроить настройку в соответствии со свободной памятью, доступной на машине, и количеством узлов, которыми будет управлять сервер.
Отредактируйте конфигурацию сервера марионеток в режиме vi
$ sudo vi /etc/sysconfig/puppetserver Find the JAVA_ARGS and use the –Xms and –Xms options to set the memory allocation. We will allocate 3GB of space JAVA_ARGS="-Xms3g -Xmx3g"
После этого сохраните и выйдите из режима редактирования.
После того, как все вышеперечисленные настройки завершены, мы готовы запустить сервер Puppet на главном компьютере с помощью следующей команды.
$ sudo systemctl start puppetserver
Далее мы выполним настройку так, чтобы марионеточный сервер запускался при загрузке главного сервера.