Огляд
У чомусь у вас тут два питання ..
- Як створити та підтримувати стандартні сервери?
- Як я можу підтримувати стандартну конфігурацію та вносити зміни пізніше?
Я розділив свою відповідь нижче, торкаючись цих двох речей окремо, але вони дуже тісно пов'язані. Тут я звертаюсь до технологічних рішень, а не до жодної з найкращих пов’язаних практик, таких як контроль змін.
Якщо це не стосується сфери вашого запитання, уточнюйте, і я буду радий детально розглянути. Це необхідний фундамент, який є критичним для добре розвиненої технологічної інфраструктури.
Побудова серверів
Мені не подобаються образи у світі UNIX; це більше підхід до стилю Windows. Навіть деякі люди з Windows, як здається, переорієнтуються на сценарії для стандартних збірок.
Супутник, здається, стає дещо популярним у світі RHEL. Spacewalk - аналог з відкритим кодом. Для використання цього ви, безумовно, повинні купувати підхід RHEL повністю. Це служить як побудовою сервера, так і керуванням конфігурацією.
В ідеалі, ви хочете встановити локальні дзеркала та сховища на файловому сервері для всього необхідного програмного забезпечення.
По-перше, скористайтеся автоматизацією побудови дистрибуції, наприклад, Kickstart в RHEL / CentOS. Kickstart буде базовою лінією з варіаціями, залежно від ваших потреб. Створення Kickstart може бути ініційовано з PXE-сервера.
Для більш досконалої частини збірки та всього, що не підходить для файлу Kickstart, ви можете написати власні спеціальні сценарії. Однак ви можете виявити, що ляльковий або cfengine добре працює для вас замість користувацьких сценаріїв. Я встановив, що спеціальні сценарії є найбільш гнучкими і не обмежуються будь-яким єдиним підходом.
Якщо ви вирішили написати власні сценарії, я рекомендую основний сценарій для універсальної конфігурації. Це буде конфігурація безпеки, загартовування та все, що стосується всіх збірок. Потім фінальний сценарій для завершення ролі сервера. Наприклад, веб-сервер або сервер баз даних.
Підтримання стандартів
Те, що ви описуєте, також підпадає під збереження конфігурацій. Стандарти складання, оновлення програмного забезпечення та інші речі пов’язані із складаннями, але багато в чому роздільні.
Якщо ви вирішили покластися на системні пакети, на відміну від створення власних побудованих джерел для ваших найважливіших ролей сервера, багато чого можна підтримувати за допомогою нативних системних утиліт. Це може бути настільки ж простим сценарієм, щоб запустити for
цикл проти списку вашого сервера та запустити a yum -y update package
.
Для управління конфігурацією тут грають лялькові, cfengine та інші утиліти управління конфігурацією . Це дуже корисні утиліти та забезпечують необхідну основу без написання власних сценаріїв з нуля.
Коли ви оновлюєте свої конфігураційні стандарти для своїх серверів, важливо повернути це в стандартні версії сервера.