Робота, робота, перейди на Puppet! Історія використання Puppet Foreman

робота

Зміст статті

Швидкий розвиток віртуалізації разом з появою пари серверів, одного нового та одного старого, привели до зростання числа серверів, які потребують управління та обслуговування, в офісах організації та її дочірніх підрозділах. І наприклад, якщо раніше підключення до сервера моніторингу займало трохи часу, то зараз на це піде значно більше. На цьому етапі необхідно звернутися за допомогою до засобів управління конфігураціями серверів. В основному сервери, які необхідно адмініструвати, однотипні та мають ідентичний базовий набір програмного забезпечення. Також вони розташовані на системах віртуалізації. Іноді можуть бути відмінності, наприклад, у версіях операційних систем. У будь-якому разі один раз виконати вказівки системного адміністратора надалі значно заощадить час вирішення тих чи інших завдань. Це єдиний вихід у постійно зростаючих інфраструктурах.

З чого почалося

Спочатку піднявся сервер віртуалізації, потім внутрішньопоштовий сервер, веб-хостинг, сервер моніторингу, DNS-сервер, сервер Jabber + майданчик вебінарів та багато інших. Потім настав момент, коли кількість серверів подвоїлася, і їх треба було підключити до моніторингу, поставити базовий софт, загалом — виконати базові завдання.

Вибирати сталі між aNimble та Puppet. Останній підкорив своєю простотою. Оскільки його настанова дуже добре описана на багатьох ресурсах, опустимо її. Після встановлення сервера та налаштування першого клієнта постало питання, як за всім цим спостерігати. Бажано щось візуальне. Тут розглядали лише два варіанти: Dashboard-Lite та Enterprise Dashboard. Перший безкоштовний, у ньому можна лише спостерігати та ділити списки на групидля візуального сприйняття. Групувати сервери на класи та застосовувати на льоту так і не вийшло, зате в консолі все чудово відпрацьовувало. Після цього поставили enterprise-версію, думаючи навіть придбати ліцензію, щоб полегшити життя адміністраторам. Покрутивши демоверсію (30 днів), поплювалися: можливості ширші, ніж у lite, проте не забезпечують всього необхідного. Тоді вирішили залишити lite та робити все консольно.

Підключили усі сервери, описали класи. Все завелося добре. Спочатку цілі були прості:

Далі непогано б дати інструмент, який автоматично або напівавтоматично встановлював і налаштовував Puppet-агент в систему. Та ще й із перевіркою дистрибутива, в якому він працює. А в ідеалі взагалі програмою на C та з підтримкою різних дистрибутивів GNU/Linux.

Почнемо з малого

Отже, почнемо з маленького скрипту на bash. Раптом це надихне когось на написання «супер» програми інсталятора, а поки що я навів на коліна скрипт тільки для Ubuntu. За допомогу величезне спасибі одному з учасників Omsk Linux User Group - Shroom.

Думки вголос

Народ із спільноти OmskLUG дуже доброзичливий і завжди готовий допомогти. Адреса Jabber-конференції: [email protected].

Прийде згадати, як писати на bash (або навчитися). А оскільки я людина далека від написання скриптів на bash, то у мене справа затяглася. Щоб зняти питання, які виникнуть пізніше, відразу зазначу, що на момент написання статті було дві версії Ubuntu: 12.04 та 14.04. Отже, все по порядку.

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

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

Продовження доступне лише передплатникам

Варіант 2. Купи один матеріал