Як автоматизувати налаштування сервера Linux?


25

Чи є спосіб автоматизувати конфігурацію сервера Linux? Я працюю над налаштуванням пари нових серверів збірки, а також FTP-сервера, і хотів би автоматизувати якомога більше процесу.

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

По суті, всі сервери потребують встановлення ОС, а також декількох пакетів. У налаштуваннях немає нічого надмірно складного.

Отже, чи є спосіб автоматизувати цей процес (або хоча б деяку його кількість)?

EDIT: Крім того, скажіть, я використовую Kickstart, чи є спосіб видалити типові сховища Ubuntu і просто встановити пакети з колекції файлів .deb, які ми маємо локально (бажано через apt, а не dpkg)?


Який дистрибутив ви вирішили встановити? Це було б корисно у визначенні наступного кроку
eyoung100

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

Нещодавно я дізнався про особливості, пропоновані солянки (Більшість сприяла репо на Github). Я дуже рекомендую звернутися до цього, оскільки він пропонує інструменти як для створення нових серверів на таких службах, як aws, так і для розгортання конфігурацій, налаштувань, запису файлів, віддаленого доступу до оболонок, масового доступу до оболонок. навіть обмеження доступу. Здається, майже про все, що вам коли-небудь знадобиться зробити. Хоча у мене є хороші друзі, які клянуться Ansible за нові налаштування сервера.
ThorSummoner

+1 для вас і mattdm ... Я не знав, що цей форум існував, поки я не побачив його на "Гарячих питаннях мережі", і тоді я навіть не думав, що на це питання є відповідь. Тож радий, що ти запитав, і на нього так добре відповіли !
Сілас Сібрук

Відповіді:


36

Так! Це велика справа і неймовірно поширене. І є два основні підходи. Один із способів - це просто встановлення сценаріїв, як, наприклад, використовується у програмі Fedora, RHEL або CentOS. Перевірте це в посібнику з встановлення Fedora: Установки Kickstart . Для вашого простого випадку цього може бути достатньо. (Візьмемо це як приклад; для інших дистрибутивів існують подібні системи, але оскільки я працюю над Fedora, саме з цим я знайомий.)

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

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

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

Ви абсолютно на правильному шляху - це основний принцип управління професійними системами. У нас навіть є зображення мему для нього:

АВТОМАТИЗАЦІЯ ВСЕ

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


1
Щиро дякую! Я почну вивчати все це.
користувач1617942

Ви не згадали про Коблера.
Брайан

@staticx Так, це не є всеосяжним. Тут також є цілий світ систем забезпечення: Cobbler, Foreman, Satellite / Spacewalk, FAI, Razor, і це навіть не потрапляє у хмарні речі.
mattdm

@ChrisK Ха, я б сказав те саме;)
Вільям Едвардс


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.