Розроблено Ляльковий Ланс, Маріонетка це інструмент керування конфігурацією з відкритим кодом, який використовується для автоматизації та централізації конфігурації інфраструктури, наприклад серверів Ансібль і Шеф-кухар. Це допомагає простому виконанню повторюваних завдань, які інакше були б громіздкими та трудомісткими.
Puppet приймає архітектуру клієнт-сервер і включає в себе наступні основні аспекти.
У цьому посібнику ми покажемо, як встановити Ляльковод і Агент в Дистрибутиви на основі RHEL такі як CentOS, Fedora, Rocky і AlmaLinux.
Puppet Master Node з IP 139.144.20.170 - Rocky Linux 8. Маріонетка Slave з IP 45.79.206.178 - Ubuntu 22.04.
Зміст
Щоб розпочати роботу, увійдіть у свою систему та оновіть програмні пакети за допомогою dnf команда наступним чином.
$ sudo dnf update -y.
Далі налаштуйте ім’я хоста для ваших вузлів, яке буде корисним під час налаштування Маріонетка у вашій системі.
Для Ляльковода
$ sudo hostnamectl set-hostname puppetmaster.tecmint.com.
Для лялькового раба
$ sudo hostnamectl set-hostname marion-agent
Підтвердьте нове ім’я хоста за допомогою hostnamectl команда:
$ hostnamectl.
Далі оновіть /etc/hosts файл для обох систем із іменем хоста та записами DNS, як показано.
Перейдіть на користувача root.
$ su -
Далі оновіть /etc/hosts файл із IP-адресою та іменем хоста або FQDN вашої системи.
Для Ляльковода
# echo "139.144.20.170 puppetmaster.tecmint.com" >> /etc/hosts
Для лялькового раба
# echo "45.79.206.178 маріонетний агент" >> /etc/hosts.
Після налаштування імен хостів і DNS-записів перейдіть до наступного кроку.
Щоб встановити Маріонетка, нам потрібно додати його репозиторій до системи. Для цього виконайте таку команду.
$ sudo dnf встановити https://yum.puppet.com/puppet-release-el-8.noarch.rpm -у.Щоб підтвердити, що репозиторій успішно додано, запустіть rpm команда:
$ rpm -qi маріонетковий випуск.
Крім того, переконайтеся, що також додати репозиторій EPEL як показано.
$ sudo dnf встановити https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -у.
Далі увімкніть Електроінструменти репозиторій, який надає інструменти розробника та бібліотеки. Репозиторій також надає безліч пакетів, які потрібні як залежності під час встановлення інших програм.
$ sudo dnf config-manager --set-enabled powertools.
Щоб переконатися, що кеш повністю оновлений з усіма метаданими, створіть кеш, як показано.
$ sudo dnf makecache.
Перед встановленням Маріонетка, переконайтеся, що всі необхідні сховища ввімкнено, як описано нижче.
$ sudo dnf repolist.
Далі встановіть Ляльковий сервер наступним чином.
$ sudo dnf install puppetserver -y.
Команда встановлює безліч пакетів, включаючи Сервер Pupper і Агент, Java OpenJDK, Lua, NSS та багато іншого. Нижче наведено результат команди.
Щоб підтвердити, що Сервер Pupper встановлено, виконайте команду:
$ rpm -qi marionpetserver.
Команда роздруковує детальну інформацію, таку як ім’я, версія, випуск, архітектура та дата встановлення.
Один раз Ляльковий сервер встановлено, наступним кроком є його налаштування. Тому відкрийте головний файл конфігурації для Puppet, як показано.
$ sudo vim /etc/puppetlabs/puppet/puppet.conf.
Під [сервер]
додайте запис DNS, як показано.
dns_alt_names=puppetmaster.tecmint.com, ляльковий майстер, ляльковий сервер.
Крім того, додайте [головний]
наступним чином, де puppetmaster.tecmint.com — FQDN або ім’я хоста вашого сервера маріонеток.
[головний] certname = puppetmaster.tecmint.com. сервер = puppetmaster.tecmint.com. середовище = виробництво. інтервал роботи = 1 год.
Ось так виглядає наша конфігурація.
Збережіть зміни та вийдіть із конфігураційного файлу.
За замовчуванням, 2 ГБ з JAVA виділена пам'ять Сервер Puppet Master. Якщо у вашій системі недостатньо пам’яті, ви можете відредагувати файл конфігурації сервера та призначити менше значення, наприклад 1 ГБ.
Тому перейдіть до файлу конфігурації.
$ sudo vim /etc/sysconfig/puppetserver.
Знайдіть ці аргументи: -Xms2g -Xmx2g
і змінити 2г до 1г (засоби 1 ГБ).
Збережіть зміни та вийдіть із конфігураційного файлу.
Після внесення всіх необхідних змін запустіть Ляльковий сервер обслуговування, як показано.
$ sudo systemctl запустити маріонетсервер.
Потім увімкніть службу для запуску під час завантаження або запуску системи.
$ sudo systemctl увімкнути маріонетсервер.
Щоб переконатися, що сервер Puppet працює, виконайте команду:
$ sudo systemctl status маріонеток.
Наступні результати підтверджують, що маріонетковий сервер запущено.
Установка Ляльковий сервер також встановлює агента. Однак агент не запускається автоматично, і ви повинні зробити це вручну.
Щоб запустити маріонеткового агента, виконайте команду.
$ sudo systemctl запустити маріонетку.
Крім того, розгляньте можливість увімкнути агент для запуску під час завантаження.
$ sudo systemctl увімкнути маріонетку.
Тепер перевірте, чи агент активний і працює, виконавши таку команду.
$ sudo systemctl маріонетка стану.
Ще одна річ, яку вам потрібно врахувати, це дозволити службу Puppet через брандмауер, щоб сервер міг отримати доступ через мережу.
Для цього виконайте наступні команди.
$ sudo firewall-cmd --add-service=puppetmaster --permanent. $ sudo firewall-cmd --reload.
Двійкові файли маріонеток розташовані в /opt/puppetlabs/bin. На момент написання цього посібника каталог уже розміщено в $PATH.
Щоб підтвердити це, запустіть printenv команду, як показано.
$ printenv | grep puppetlabs.
Ви також можете перевірити це, як показано.
$ яка лялька /opt/puppetlabs/bin/puppet
Якщо з якоїсь причини Маріонетка не додається до $PATH, перейдіть на користувача root
$ su -
Потім виконайте наступні команди, щоб додати його $PATH.
# echo 'export PATH=$PATH:/opt/puppetlabs/bin' | трійник -a ~/.bashrc. # джерело ~/.bashrc.
Щоб підтвердити, що Маріонетка сервер працює належним чином, виконайте команду:
$ sudo /opt/puppetlabs/bin/puppet agent --test --ca_server=puppetmaster.tecmint.com.
Наступний результат підтверджує, що все виглядає добре.
Ви також можете досягти того ж, що й користувач root, як показано
# ляльковий агент -т.
Щоб переглянути доступні сертифікати на Ляльковод вузол, виконайте таку команду.
$ sudo /opt/puppetlabs/bin/puppetserver ca list --all.
Наразі вдалося встановити Ляльковий сервер і Агент на головному вузлі. Якщо це те, що ви шукали, тоді ви закінчили та прибрали пил.
Однак ми згадували, що Puppet працює в архітектурі клієнт-сервер. У наступному кроці ми продемонструємо, як встановити та налаштувати агент Puppet на клієнтському вузлі.
У цьому розділі ми будемо встановлювати Ляльковий агент на Ubuntu Slave вузол, а потім встановити зв’язок між Pupper Master вузол і Клієнт.
Для Ubuntu 22.04
$ wget https://apt.puppetlabs.com/puppet7-release-jammy.deb. $ sudo dpkg -i puppet7-release-jammy.deb. $ sudo apt оновлення. $ sudo apt install puppet-agent -y.
Для Ubuntu 20.04
$ wget https://apt.puppet.com/puppet7-release-focal.deb. $ sudo dpkg -i puppet7-release-focal.deb. $ sudo apt оновлення. $ sudo apt install puppet-agent -y.
Після встановлення перейдіть до файлу конфігурації агента.
$ sudo vim /etc/puppetlabs/puppet/puppet.conf.
Додайте наступний розділ.
[головний] сервер = puppetmaster.tecmint.com.
Збережіть зміни та вийдіть.
Щоб застосувати зміни, перезапустіть службу Puppet agent.
$ sudo systemctl перезапустити маріонетку. $ sudo systemctl увімкнути маріонетку.
Останнім кроком є встановлення зв’язку між Маріонетковий сервер і агент встановлений на клієнтській системі. Щоб зробити це, увійдіть до клієнтського вузла та згенеруйте сертифікати для підпису майстра Pupper.
$ sudo /opt/puppetlabs/bin/puppet agent -t.
Ви отримаєте повідомлення про те, що сертифікат ще не підписаний.
Перейдіть до Майстер ляльки вузол і перелічіть сертифікати, які очікують на підписання. Тут сертифікат вказано як puppet-agent.members.linode.com.
$ sudo /opt/puppetlabs/bin/puppetserver ca список.
Тепер підпишіть сертифікат за допомогою такої команди:
$ sudo /opt/puppetlabs/bin/puppetserver ca sign --certname puppet-agent.members.linode.com.
Нарешті, поверніться до клієнтського вузла та підпишіть сертифікат.
$ sudo /opt/puppetlabs/bin/puppet agent -t.
Це підійшло до кінця цього посібника. У цій статті ми продемонстрували, як встановити Ляльковод і Агент використання систем на базі RHEL Rocky Linux 8 вузлів у нашій установці.