Как добавить агентов Puppet в Foreman
На этой странице
- Шаг 1. Настройка хостов
- Шаг 2. Установите и настройте агент Puppet
- - Установите агент Puppet на сервер Ubuntu 18.04.
- - Установите агент Puppet на сервере CentOS 7.
- - Подписание запросов сертификатов с помощью Terminal Shell
- - Подпишите запросы на сертификаты с помощью панели инструментов Foreman.
- - Загрузите модуль Nginx Puppet
- - Активация модулей Puppet
- - Добавление модуля Puppet к хосту агента
- - Применить и протестировать
Это вторая часть руководства Foreman. В первом руководстве мы уже показали вам установку и настройку Foreman на Ubuntu Server 18.04 LTS, а теперь я покажу вам, как добавить Puppet Agents в Foremen.
Предпосылки
- Мастер кукол
- Привилегии root
Что мы будем делать?
- Настройка хостов
- Установка и настройка агента Puppet
- Подписать Сертификаты на Мастера Кукловода
- Тестирование
Шаг 1 - Настройка хостов
Прежде всего, нам нужно настроить FQDN (полное доменное имя) серверов марионеточных агентов.
Измените имя хоста сервера с помощью приведенной ниже команды hostnamectl.
hostnamectl set-hostname client.hakase-labs.io
После этого отредактируйте файл /etc/hosts.
vim /etc/hosts
Измените IP-адрес и полное доменное имя на свои собственные и вставьте их.
10.9.9.20 server.hakase-labs.io server
10.9.9.21 client.hakase-labs.io clientСохранить и закрыть.
Теперь проверьте хост с помощью следующей команды и убедитесь, что полное доменное имя сервера разрешается в ваш действительный IP-адрес.
ping $(hostname -f) -c 3
Шаг 2 — Установите и настройте агент Puppet
На этом этапе мы собирались установить Puppet Agent 5 на серверы Ubuntu 18.04 и CentOS 7. Мы хотим добавить репозиторий Puppet в систему, а затем установить пакеты агента puppet на серверы Ubuntu и CentOS.
- Установите агент Puppet на сервер Ubuntu 18.04.
Загрузите репозиторий пакетов и добавьте его в систему.
cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
sudo dpkg -i puppet5-release-bionic.debПосле этого обновите репозитории Ubuntu и установите пакеты агента puppet, используя следующие команды apt.
sudo apt update
sudo apt install -y puppet-agent- Установите агент Puppet на сервере CentOS 7.
Загрузите репозиторий пакетов и добавьте его в систему.
cd /tmp && wget https://yum.puppet.com/puppet5/puppet5-release-el-7.noarch.rpm
rpm -ivh puppet5-release-el-7.noarch.rpmПосле этого установите пакеты кукольного агента, используя следующую команду.
sudo yum install -y puppet-agent
Когда установка будет завершена, мы должны отредактировать конфигурацию марионетки по умолчанию и определить параметры агента.
Перейдите в каталог /etc/puppetlabs/puppet и отредактируйте файл конфигурации puppet.conf.
cd /etc/puppetlabs/puppet/
vim puppet.confИзмените полное доменное имя сервера и имя сертификата на свое и вставьте в него.
[agent]
server = server.hakase-labs.io
certname = client.hakase-labs.io
runinterval = 180
environment = production
listen = false
pluginsync = true
report = trueСохранить и выйти.
После этого запустите службу кукольного агента, используя следующую команду.
sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
Или, если требуется, перезапустите службу.
sudo systemctl restart puppet
Агент кукол запущен и работает как на серверах Ubuntu, так и на серверах CentOS.
Шаг 3. Подпишите запросы сертификатов агентов Puppet
Чтобы подписывать запросы на сертификаты агентов puppet, мы можем использовать терминальную оболочку главного сервера puppet (в данном случае это сам сервер foreman) или использовать панель управления foreman.
- Подписывать запросы сертификатов с помощью Terminal Shell
Войдите на главный сервер puppet (в данном руководстве это сервер foreman) и проверьте запрос сертификата, используя следующую команду.
sudo /opt/puppetlabs/bin/puppetserver ca list
Теперь вы увидите сертификат имени клиента, подпишите его командой ниже.
sudo /opt/puppetlabs/bin/puppetserver ca sign --certname client.hakase-labs.io
И сертификат кукольного агента был добавлен к кукольному мастеру через терминальный сервер.
- Подписывать запросы на сертификаты с помощью панели инструментов Foreman.
Нажмите меню «Инфраструктура» слева, затем выберите Smart Proxies.
Теперь выберите параметры сертификатов из раскрывающейся кнопки сервера мастера.
Теперь вы получите имя клиента, который делает запросы в состоянии ожидания, нажмите кнопку «Подписать».
После этого проверьте хосты агента, перейдя на страницу Hosts.
В меню «Хосты» нажмите «Все хосты» и убедитесь, что вы получили имя марионеточного агента в списке серверов, как показано ниже.
Ниже приведены подробности об агенте Ubuntu Puppet.
Шаг 4 — Тестирование
В этом руководстве мы собирались протестировать сервер puppet foreman и агент puppet для развертывания служб nginx и NTP на хосте агента puppet. Прежде чем мы начнем, нам нужно загрузить модули nginx и ntp puppet на сервер foreman, а затем активировать эти модули и добавить их в агент puppet.
- Загрузите модуль Nginx Puppet
Загрузите модуль nginx puppet, выполнив следующую команду на сервере puppet master foreman.
sudo /opt/puppetlabs/bin/puppet module install puppet/nginx
- Активировать кукольные модули
После этого импортируйте модуль nginx через панель управления мастером.
Щелкните меню «Настроить» слева и выберите «Классы марионеток».
Нажмите кнопку «Импорт среды из server.hakase-labs.io», отметьте доступные классы модулей и нажмите «Обновить».
Теперь вы получите модуль Nginx в списке.
- Добавить модуль Puppet на хост агента
Нажмите меню «Хосты» слева, нажмите «Все хосты», чтобы получить списки доступных хостов.
Теперь нажмите кнопку «Изменить» на хосте агента с именем client.hakase-labs.io.
Перейдите на вкладку Puppet Classes, добавьте модуль nginx и ntp и нажмите кнопку Submit.
На хост агента добавлены модули Nginx и NTP.
Дополнительно:
Если вы хотите проверить активные классы на хостах, просто нажмите кнопку YAML в подробной информации о хосте, и вам будет показан необработанный источник конфигурации YAML.
- Подать заявку и протестировать
Если вы хотите применить изменения вручную, вы можете запустить следующую команду на хостах агента puppet.
sudo /opt/puppetlabs/bin/puppet agent --test
Когда он будет завершен, вы увидите результат, как показано ниже.
После этого проверьте службу nginx и ntp, проверив указанный порт, чтобы убедиться, что порты HTTP и NTP используются службами nginx и ntp.
netstat -plntu
Теперь вы можете получить доступ к веб-серверу nginx на узле агента.
curl client.hakase-labs.io
Чтобы проверить конфигурацию сервера ntp, выполните следующую команду.
cat /etc/ntp.conf
И вам будет показана конфигурация ntp, которой управляет Puppet.
Ссылки
- https://theforeman.org/manuals/