обзор
В некотором смысле, у вас есть два вопроса здесь ..
- Как мне построить и поддерживать стандартные серверы?
- Как сохранить стандартную конфигурацию и внести изменения позже?
Я разделил свой ответ ниже, обращаясь к этим двум вещам отдельно, но они очень тесно связаны. Здесь я рассматриваю технологические решения, а не какие-либо связанные с ними лучшие практики, такие как контроль изменений.
Если это не относится к сфере вашего вопроса, пожалуйста, уточните, и я буду рад уточнить. Это необходимая основа, которая имеет решающее значение для отлаженной технологической инфраструктуры.
Сборка серверов
Я не люблю изображения в мире UNIX; это скорее подход в стиле Windows. Кажется, что даже некоторые пользователи Windows сейчас переориентируются на сценарии для стандартных сборок.
Спутник, кажется, становится несколько популярным в мире RHEL. Spacewalk - это аналог Open Source. Вы определенно должны купить в подходе RHEL полностью, чтобы использовать это. Это служит как для построения сервера, так и для управления конфигурацией.
В идеале вы хотели бы установить локальные зеркала и репозитории на файловом сервере для всего необходимого программного обеспечения.
Во-первых, воспользуйтесь автоматизацией сборки дистрибутива, например Kickstart в RHEL / CentOS. Кикстарт будет основой с вариациями, в зависимости от ваших потребностей. Сборки Kickstart могут быть инициированы с PXE-сервера.
Для более сложной части сборки и всего, что не подходит для файла Kickstart, вы можете написать свои собственные сценарии. Тем не менее, вы можете обнаружить, что puppet или cfengine хорошо работают вместо пользовательских скриптов. Я считаю, что пользовательские сценарии являются наиболее гибкими и не ограничиваются каким-либо одним подходом.
Если вы решите написать свои собственные сценарии, я рекомендую основной сценарий для универсальной конфигурации. Это может быть настройка безопасности, усиление безопасности и все, что относится ко всем сборкам. Затем финальный скрипт для финализации роли сервера. Например, веб-сервер или сервер базы данных.
Поддержание стандартов
То, что вы описываете, также подпадает под поддержание конфигураций. Стандарты сборки, обновления программного обеспечения и другие вещи связаны со сборками, но во многом разные.
Если вы решите полагаться на системные пакеты, а не на создание собственных сборок на основе исходного кода для своих наиболее важных ролей сервера, многие из них можно будет поддерживать с помощью системных системных утилит. Это может быть простой скрипт для запуска for
цикла со списком серверов и запуска yum -y update package
.
Для управления конфигурацией именно здесь вступают в игру утилиты puppet, cfengine и другие . Это очень полезные утилиты, которые обеспечивают необходимую основу без написания собственных скриптов с нуля.
Когда вы обновляете ваши стандарты конфигурации для ваших серверов, важно заполнить это в ваших стандартных сборках сервера.