puppet
Инструкция по настройке сервера Puppet для управления публикациями изменений на Windows
Шаг 1: Создание виртуального сервера на Linux
-
Выбор дистрибутива и установка ОС:
- Рекомендуется использовать Ubuntu Server 20.04 или CentOS 7.
- Установите выбранный дистрибутив на виртуальный сервер. Можно использовать VirtualBox или VMware.
-
Обновление и команды системы: Linux может потребовать права sudo для выполнения команд через sudo, чтобы решить эту проблему можно написать команду:
sudo suИ после этого вписать пароль (если он есть) при вводе он не будет отображаться в целях безопасности
sudo apt update && sudo apt upgrade -y # для Ubuntu sudo yum update -y # для CentOS -
Если вы не хотите использовать DNS, вы можете добавить записи в /etc/hostsфайл сервера и клиента. Например, в /etc/hostsфайл сервера Puppet добавьте:
127.0.0.1 localhost.localdomain localhost puppet
192.168.1.17 puppetclient.example.com puppetclient
На каждом клиенте Puppet добавьте запись для сервера:
192.168.1.16 puppetmaster.example.com puppetmaster puppet
Примечание : замените приведенные выше примеры IP-адресов и доменных имен на фактические адреса и доменные имена вашего сервера и клиента.
Шаг 2: Установка Puppet Server
- Установка Puppet Server:
-
Добавьте репозиторий Puppet:
sudo apt-get install aptitude sudo aptitude install puppetserver- Установите Puppet Server:
sudo apt install puppetserver # для Ubuntu sudo apt install -y curl wget sudo apt install openssh-server -y sudo yum install puppetserver # для CentOS sudo yum install openssh-server -y sudo systemctl start sshd sudo systemctl enable sshd sudo yum install -y curl wget
-
- Запуск и настройка Puppet Server:
sudo systemctl start puppetserver sudo systemctl enable puppetserver
Шаг 3: Установка и настройка Puppet Agent на Windows
-
Загрузка и установка Puppet Agent:
- Скачайте Puppet Agent для Windows с официального сайта Puppet (например puppet-agent-7.9.0-x86.msi).
- Установите Puppet Agent на каждую из Windows машин, следуя инструкциям мастера установки.
-
Запуск Puppet Agent и запрос сертификата:
- Запустите Puppet Agent:
puppet agent --test --waitforcert=60
- Запустите Puppet Agent:
-
Подтверждение сертификатов на Puppet Server:
- Подтвердите запросы сертификатов на Puppet Server:
sudo puppetserver ca sign --all
- Подтвердите запросы сертификатов на Puppet Server:
Шаг 4: Настройка Puppet для управления Windows машинами
- Создание манифестов Puppet для управления конфигурациями:
- Создайте папку для манифестов и файлов нашего модуля:
sudo mkdir -p /etc/puppetlabs/code/environments/production/modules/helpdesk/manifests sudo mkdir -p /etc/puppetlabs/code/environments/production/modules/helpdesk/files
- Создайте манифест init.pp:
Пример содержимого для замены файла HelpDesk.ini:sudo nano /etc/puppetlabs/code/environments/production/modules/helpdesk/manifests/init.pp
- Создайте папку для манифестов и файлов нашего модуля:
class helpdesk {
file { 'C:/Program Files (x86)/HelpDesk/HelpDesk.ini':
ensure => file,
source => 'puppet:///modules/helpdesk/HelpDesk.ini',
owner => 'SYSTEM',
group => 'SYSTEM',
mode => '0644',
backup => false,
}
}
- Добавить новый HelpDesk.ini по пути sudo mkdir -p /etc/puppetlabs/code/environments/production/modules/helpdesk/files
- Публикация изменений:
- Изменения будут автоматически применяться Puppet Agent при следующем запуске (по умолчанию каждые 30 минут) или можно запускать вручную:
puppet agent --test
- Изменения будут автоматически применяться Puppet Agent при следующем запуске (по умолчанию каждые 30 минут) или можно запускать вручную:
Шаг 5: Консоль/Веб-интерфейс Puppet с помощью Foreman
-
Выберите необходимый узел или группу узлов и нажмите кнопку "Изменить"
-
Выберите вкладку Puppet ENC Выберите созданный класс (например helpdesk), включите его, нажав иконку со знаком «Плюс», и нажмите кнопку «Применить»
-
На агенте выполнить:
puppet agent -t
Если ваш браузер предупреждает вас о том, что центр сертификации недействителен или неизвестен: В Chrome нажмите «Дополнительно» , затем перейдите к <АДРЕС КОНСОЛИ> В Firefox нажмите «Дополнительно» , затем «Добавить исключение»