Як встановити Puppet 6 на Ubuntu 18?

Дізнайтеся, як встановити сервер ляльок & агента і налаштуйте, щоб вони спілкувалися один з одним.


Лялька – один з найбільш прийнятих на підприємстві інструментів управління конфігурацією у світі DevOps. Як інженер DevOps, ви повинні знати, як налаштувати лялечку у вашій системі.

Але перш ніж розпочати, дозвольте сказати вам, що встановити ляльку зовсім непросте завдання. Якщо ви пропустите жодний крок або якщо ви зміните потік кроків, згаданих у цьому підручнику, навіть в одному місці, ви, можливо, будете чухати голову цілий день з великою кількістю помилок, але ваша установка буде неповною. Отже, слідкуйте за кожним кроком дуже уважно.

Лялечка має архітектуру клієнт-сервер, яка складається з лялькового майстра (сервер) та лялькових агентів (клієнт). Ляльковий майстер має всі конфігурації, і він збирає та постачає конфігурації ляльковому агенту. Лялькові агенти надсилають факти майстру ляльок із запитом каталогів з інтервалом. Майстер ляльок надсилає назад потрібний каталог ляльковому агенту. Потім ляльковий агент застосовує цей каталог до вузла і повідомляє про це майстру.

Тепер, коли ви маєте основне розуміння Лялькового, давайте розпочнемо і налаштуємо Лялечного майстра та лялечного агента.

Якщо ви абсолютно новачок, ви, можливо, захочете взяти це онлайн відео курс.

Деталі навколишнього середовища

Я використовую 2 машини Ubuntu 18.04. Один буде виконувати функції лялькового майстра, а інший – як ляльковий агент. Нижче наведено деталі машин:

Ляльковий майстер (сервер)

  • Ім’я господаря: лялька, puppet.geekflate.com
  • IP-адреса: 192.168.0.108

Ляльковий агент (клієнт)

  • Ім’я господаря: ляльковий агент
  • IP адреса: 192.168.0.107

Встановлення сервера ляльок

Перш ніж розпочати інсталяцію, мені потрібно відредагувати файл / etc / hosts як на master, так і на агенті, щоб вони могли вирішувати один одного.

На вузлі Master

[захищено електронною поштою]: ~ $ sudo gedit / etc / hosts

[sudo] пароль для geekflare:

127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.108 лялька-лялька.geekflare.com

На вузлі агента

[захищено електронною поштою]: ~ $ sudo gedit / etc / hosts

127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.107 ляльковий агент
192.168.0.108 лялька-лялька.geekflare.com

Тепер мені потрібно отримати маріонетковий сховище на своєму головному вузлі та оновити його.

Завантажте сховище ляльок.

[захищено електронною поштою]: ~ $ wget https://apt.puppetlabs.com/puppet6-release-bionic.deb

–2019-10-15 15: 41: 34– https://apt.puppetlabs.com/puppet6-release-bionic.deb

Розв’язування apt.puppetlabs.com (apt.puppetlabs.com) … 99.86.19.107, 99.86.19.59, 99.86.19.2, …

Підключення до apt.puppetlabs.com (apt.puppetlabs.com) | 99.86.19.107 |: 443 … підключено.

HTTP-запит надісланий, очікуючи відповіді … 200 ОК

Довжина: 11736 (11K) [додаток / x-debian-пакет]

Збереження: “puppet6-release-bionic.deb”

puppet6-release-bio 100% [====================>] 11,46 К – .- КБ / с за 0 с

2019-10-15 15:41:34 (236 Мб / с) – “puppet6-release-bionic.deb” збережено [11736/11736]

Додайте та налаштуйте лялечку 6 репо.

[захищено електронною поштою]: ~ $ sudo dpkg -i puppet6-release-bionic.deb

Вибір раніше невибраного пакету puppet6-release.

(Читання бази даних … 187041 файлів і каталогів, які наразі встановлені.)

Підготовка до розпакування puppet6-release-bionic.deb …

Розпакування лялькових6-випусків (6.0.0-5bionic) …

Налаштування маріонеткового випуску (6.0.0-5bionic) …

Оновіть список сховищ.

[захищено електронною поштою]: ~ $ sudo влучне оновлення

Hit: 1 https://download.docker.com/linux/ubuntu bionic InRelease

Hit: 2 http://security.ubuntu.com/ubuntu космічна безпека InRelease

Hit: 3 http://ppa.launchpad.net/ansible/ansible/ubuntu космічний InRelease

Отримайте: 4 http://download.virtualbox.org/virtualbox/debian космічний InRelease [4,429 B]

Отримайте: 5 http://apt.puppetlabs.com bionic InRelease [85,3 кБ]

Хіт: 6 http://us.archive.ubuntu.com/ubuntu космічний InRelease

Hit: 7 http://us.archive.ubuntu.com/ubuntu cosmic-updates InRelease

Отримайте: 8 http://download.virtualbox.org/virtualbox/debian cosmic / contrib amd64 Пакети [1,466 B]

Отримайте: 9 http://apt.puppetlabs.com bionic / puppet6 всі пакети [13,5 кБ]

Hit: 10 http://us.archive.ubuntu.com/ubuntu cosmic-backports InRelease

Отримайте: 11 http://apt.puppetlabs.com пакети bionic / puppet6 i386 [13,5 kB]

Отримайте: 12 http://apt.puppetlabs.com пакетів bionic / puppet6 amd64 [32,3 kB]

Зібрано 151 кБ за 2 секунди (61,9 кБ / с)

Читання списків пакетів … Готово

Побудова дерева залежності

Читання інформації про стан … Готово

234 пакети можуть бути оновлені. Запустіть “список вподобань – оновлений”, щоб побачити їх.

Встановлення сервера ляльок

Запустимо нижче команду на головний вузол, щоб встановити на ньому ляльковий сервер.

[захищено електронною поштою]: ~ $ sudo apt install – ляльковий сервер

Читання списків пакетів … Готово

Побудова дерева залежності

Читання інформації про стан … Готово

Наступні додаткові пакети будуть встановлені:

ca-сертифікати-java java-загальний openjdk-8-jre-безголовий ляльковий агент

Пропоновані пакети:

шрифти за замовчуванням шрифти-dejavu-додаткові шрифти-ipafont-готичні шрифти-ipafont-mincho

шрифти-wqy-microhei шрифти-wqy-zenhei

Будуть встановлені наступні НОВІ пакети:

ca-сертифікати-java java-загальний openjdk-8-jre-безголовий ляльковий агент

ляльковик

0 оновлених, 5 нещодавно встановлених, 0 для видалення та 234 не оновлених.

Потрібно отримати 109 МБ архівів.

Після цієї операції буде використано 287 Мб додаткового дискового простору.

Отримайте: 1 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 java-загальний всі 0.68ubuntu1 [6,988 B]

Отримайте: 2 http://apt.puppetlabs.com bionic / puppet6 amd64 ляльковий агент amd64 6.10.1-1bionic [19.9 MB]

Отримайте: 3 http://us.archive.ubuntu.com/ubuntu cosmic-updates / Всесвітній amd64 openjdk-8-jre-headless amd64 8u212-b03-0ubuntu1.18.10.1 [27.2 MB]

Отримайте: 4 http://apt.puppetlabs.com bionic / puppet6 amd64 puppetserver all 6.7.1-1bionic [61.5 MB]

Отримайте: 5 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 ca-сертифікати-java всі 20180516ubuntu1 [12,3 кБ]

Вилучено 109 Мб за 1 хв 41 с (1,072 кБ / с)

Розпакування лялькового сервера (6.7.1-1біонічний) …

Налаштування лялькового агента (6.10.1-1bionic) …

Створено symlink /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Створено symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

Видалено /etc/systemd/system/multi-user.target.wants/pxp-agent.service.

Налаштування загальноприйнятого Java (0.68ubuntu1) …

Обробка тригерів для libc-bin (2.28-0ubuntu1) …

Тригери обробки для systemd (239-7ubuntu10.12) …

Тригери обробки для man-db (2.8.4-2) …

Обробка тригерів для сертифікатів ca (20180409) …

Оновлення сертифікатів у / etc / ssl / certs…

0 додано, 0 видалено; зроблено.

Запуск гачок у /etc/ca-certificate/update.d…

зроблено.

Налаштування ca-сертифікатів-java (20180516ubuntu1) …

head: не вдається відкрити ‘/ etc / ssl / certs / java / cacerts’ для читання: Немає такого файлу чи каталогу

Додавання debian: SSL.com_EV_Root_Certification_Authority_ECC.pem

Додавання debian: ssl-cert-snakeoil.pem

Додавання debian: SwissSign_Gold_CA _-_ G2.pem

Додавання debian: SZAFIR_ROOT_CA2.pem

Додавання debian: OpenTrust_Root_CA_G3.pem

Додавання debian: TWCA_Root_Certification_Authority.pem

Додавання debian: QuoVadis_Root_CA_2_G3.pem

Додавання debian: DST_Root_CA_X3.pem

Додавання debian: SecureSign_RootCA11.pem

Додавання debian: QuoVadis_Root_CA_1_G3.pem

Додавання debian: T-TeleSec_GlobalRoot_Class_3.pem

Додавання debian: Go_Daddy_Root_Certificate_Authority _-_ G2.pem

Додавання debian: Actalis_Authentication_Root_CA.pem

Додавання debian: Chambers_of_Commerce_Root _-_ 2008.pem

зроблено.

Обробка тригерів для сертифікатів ca (20180409) …

Оновлення сертифікатів у / etc / ssl / certs…

0 додано, 0 видалено; зроблено.

Запуск гачок у /etc/ca-certificate/update.d…

зроблено.

зроблено.

Налаштування openjdk-8-jre-headless: amd64 (8u212-b03-0ubuntu1.18.10.1) …

Налаштування лялькового сервера (6.7.1-1біонічний) …

usermod: жодних змін

Тригери обробки для systemd (239-7ubuntu10.12) …

Налаштування лялькового сервера

 Відредагуйте файл лялькових серверів, як показано нижче. Це налаштовує JVM лялькового сервера.

[захищено електронною поштою]: ~ $ sudo gedit / etc / default / puppetserver

# Змініть це, якщо ви хочете змінити розподіл пам’яті, увімкніть JMX тощо

JAVA_ARGS ="-Xms512m -Xmx512m -Djruby.logger.class = com.puppetlabs.jruby_utils.jruby.Slf4jLogger"

 Відредагуйте файл конфігурації ляльок, щоб змінити параметри лялькового сервера.

[захищено електронною поштою]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

# Цей файл можна використовувати для зміни параметрів ляльок за замовчуванням.

# Дивіться наступні посилання, щоб отримати докладнішу інформацію про доступні налаштування:

# – https://puppet.com/docs/puppet/latest/config_important_settings.html

# – https://puppet.com/docs/puppet/latest/config_about_settings.html

# – https://puppet.com/docs/puppet/latest/config_file_main.html

# – https://puppet.com/docs/puppet/latest/configuration.html

[майстер]

vardir = / opt / puppetlabs / сервер / data / puppetserver

logdir = / var / log / puppetlabs / puppetserver

rundir = / var / run / puppetlabs / puppetserver

pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid

codedir = / etc / puppetlabs / code

dns_alt_names = лялька, puppet.geekflare.com

[головна]

certname = puppet.geekflare.com

сервер = puppet.geekflare.com

середовище = виробництво

пробіг = 15м

Ляльковий сервер повинен генерувати кореневе та проміжне підписання, Каліфорнія.

[захищено електронною поштою]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca setup

Покоління вдалося. Знайдіть свої файли в / etc / puppetlabs / puppet / ssl / ca

 Запустіть і ввімкніть сервіс лялькових серверів.

[захищено електронною поштою]: ~ $ sudo systemctl старт ляльковий сервер

[захищено електронною поштою]: ~ $ sudo systemctl включити ляльковий сервер

Стан синхронізації puppetserver.service з сценарієм обслуговування SysV з / lib / systemd / systemd-sysv-install.

Виконання: / lib / systemd / systemd-sysv-install enable puppetserver

Встановлення лялькового агента

Виконайте наведені нижче кроки на вузлі агента, як це було зроблено для головної системи. Лялечне сховище повинне бути представлене на всіх вузлах агентів.

[захищено електронною поштою]: ~ $ wget https://apt.puppetlabs.com/puppet6-release-bionic.deb

[захищено електронною поштою]: ~ $ sudo dpkg -i puppet6-release-bionic.deb

[захищено електронною поштою]: ~ $ sudo влучне оновлення

Виконайте команду нижче на вузлі агента, щоб встановити ляльковий агент.

[захищено електронною поштою]: ~ $ sudo apt install -y ляльковий агент

Читання списків пакетів … Готово

Побудова дерева залежності

Читання інформації про стан … Готово

Будуть встановлені наступні НОВІ пакети:

ляльковий агент

0 оновлених, 1 щойно встановлених, 0 для видалення та 233 не оновлених.

Потрібно отримати 19,9 МБ архівів.

Після цієї операції буде використано 115 МБ додаткового дискового простору.

Отримайте: 1 http://apt.puppetlabs.com bionic / puppet6 amd64 ляльковий агент amd64 6.10.1-1bionic [19.9 MB]

Отримано 19,9 Мб за 2 секунди (8 488 кБ / с)

Вибір раніше невибраного пакета маріонеткового агента.

(Читання бази даних … 185786 файлів і каталогів, які зараз встановлені.)

Підготовка до розпакування … / puppet-agent_6.10.1-1bionic_amd64.deb …

Розпакування лялькового агента (6.10.1-1bionic) …

Налаштування лялькового агента (6.10.1-1bionic) …

Створено symlink /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Створено symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

Видалено /etc/systemd/system/multi-user.target.wants/pxp-agent.service.

Обробка тригерів для libc-bin (2.28-0ubuntu1) …

Налаштування лялечного агента

 Відредагуйте файл конфігурації ляльки на вузлі агента.

[захищено електронною поштою]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

[головна]

certname = ляльковий агент

сервер = puppet.geekflare.com

середовище = виробництво

пробіг = 15м

Запустіть команду нижче, щоб запустити лялькову службу. Ця команда також запуститься автоматично після її завантаження.

[захищено електронною поштою]: ~ $ sudo / opt / puppetlabs / bin / ляльковий сервісний ресурс маріонеткового забезпечення = працює включення = вірно

сервіс {‘ляльковий’:

забезпечити => ‘біг’,

enable => ‘справжній’,

Створення та підписання сертифікатів

Коли агент запускається вперше, він надсилає запиту підписання сертифікату майстру ляльок. Майстру потрібно перевірити та підписати цей сертифікат. Після цього агент витягує каталоги у головного і регулярно застосовує їх до вузлів агента.

Тепер, коли маріонетковий агент працює, запустіть команду нижче на головний вузол, щоб перевірити, чи отримав він запит на підписання сертифіката.

На головний вузол

[захищено електронною поштою]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca список

[sudo] пароль для geekflare:

Запитані сертифікати:

ляльковий агент (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

Підпишіть сертифікат, надісланий агентом.

[захищено електронною поштою]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca список

[sudo] пароль для geekflare:

Запитані сертифікати:

ляльковий агент (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

Запустіть команду нижче, щоб перевірити весь список сертифікатів. Один сертифікат вже є, за замовчуванням головний вузол, а інший – з вузла агента.

[захищено електронною поштою]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca list – всі

Підписані сертифікати:

ляльковий агент (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

puppet.geekflare.com (SHA256) 71: 30: 5B: C8: C5: CE: 28: A0: 60: 5C: 4F: 39: 26: D0: FC: DA: DF: 0A: 0F: 4D: ED: D4: B1: 9C: 05: 1A: 38: 2F: D6: 5F: 9C: 06 імена alt: ["DNS: puppet.geekflare.com", "DNS: ляльковий", "DNS: puppet.geekflare.com"]

На вузлі агента

Тепер запустіть цю команду, щоб перевірити, чи було встановлено з’єднання між вузлами master та агентом, і все працює нормально.

[захищено електронною поштою]: ~ $ sudo / opt / puppetlabs / bin / ляльковий агент –тест

Інформація: Використання налаштованого середовища “виробництво”

Інформація: Отримання плагінфактів

Інформація: завантаження плагіна

Інформація: Отримання локалів

Інформація: Каталог тренувань для лялькових агентів

Інформація: Застосування версії конфігурації “1571171191”

Примітка: застосований каталог за 0,02 секунди

Приклад лялечного прикладу

Наведемо простий ляльковий приклад. Я створять простий маріонетковий маніфест, який створює каталог з певним дозволом.

На головному вузлі:

[захищено електронною поштою]: ~ $ sudo gedit /etc/puppetlabs/code/environments/production/manifests/site.pp

 Помістіть нижче вміст.

node ‘puppetagent’ {# Застосовується лише до згаданого вузла. Якщо нічого не згадується, стосується всіх.

file {‘/ home / test’: # файл типу ресурсу

забезпечити => ‘каталог’, # Створити каталог

власник => ‘root’, # власність

група => ‘root’, # Назва групи

режим => ‘0755’, # Дозволи

}

}

Тепер запустіть нижченаведену команду, щоб агент мав допомогти освоїти та витягнути конфігурації. Після запуску цієї команди слід створити цей каталог у агентурному вузлі.

На вузлі агента

[захищено електронною поштою]: ~ $ sudo / opt / puppetlabs / bin / ляльковий агент –тест

[sudo] пароль для geekflare:

Інформація: Використання налаштованого середовища “виробництво”

Інформація: Отримання плагінфактів

Інформація: завантаження плагіна

Інформація: Отримання локалів

Інформація: Каталог кешування для ляльковика

Інформація: Застосування версії конфігурації “1571333010”

Примітка: / Етап [головний] / Головний / Вузол [ляльковий агент] / Файл [/ домашній / тест] / забезпечення: створено

Примітка: застосований каталог за 0,05 секунди

Запустіть команду ls, щоб перевірити, чи успішно створено режисер. 

[захищено електронною поштою]: ~ $ ls -l / додому /

всього 32

drwxr-xr-x 13 geekflare geekflare 4096 19 липня 08:06 geekflare

drwx —— 2 кореневих кореня 16384 23 жовтня 2018 втрачено + знайдено

drwxr-xr-x 23 geekflare geekflare 4096 жовтня 17 11:02 geekflare

drwxr-xr-x 2 корінь кореня 4096 17 жовтня тест 13:23

drwxr-xr-x 2 ім’я користувача ім’я користувача 4096 29 червня 09:38 ім’я користувача

Ось так!

Висновок

Це був простий приклад для демонстрації його роботи. Але уявіть собі більший сценарій, коли вам доведеться встановити або застосувати певну конфігурацію на сотнях серверів. Лялька може допомогти вам досягти цього за лічені хвилини.

Якщо ви займаєтесь автоматизацією і хочете дізнатися більше, ви можете це перевірити Курс Удемі, яка говорить про Ansible, Лялечку та Сіль.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map