Используя git для управления / etc?


13

Я думаю о системе, где /etcбыли отслежены в удаленном хранилище git. Я имею в виду рабочий процесс git, где на каждой хост-машине отдельная ветвь.

Все предыдущие версии на каждой машине можно было легко отслеживать, сравнивать, объединять.

Если /etcизменение нужно было зафиксировать на многих машинах, это может быть легко сделано с помощью сценария слияния.

В случае «нежелательных» /etcизменений это может быть хорошо видно (даже сценарии тревоги могут быть настроены для просмотра).

Кто-нибудь использовал уже такую ​​конфигурацию? Есть ли проблемы с безопасностью?


6
Существует, etckeeperкоторый уже используется во многих системах. Он не предлагает все функции, которые вы просили. Например, у него есть один репозиторий на хост, а не центральный.
Джофель

Какие файлы вас интересуют или какие файлы были изменены нежелательно в прошлом? Я спрашиваю, потому что я думаю, что Git не является правильным способом решения проблем, вызванных в другой точке вашего рабочего процесса. Далее: если кто-то забудет совершить несколько изменений, Git бесполезен. Не могли бы вы объяснить вашу среду? У вас есть тестовые и QA среды, идентичные производственным? У вас гораздо больше, чем два или три хоста одного типа / назначения или это гетерогенно? Что важнее: сравнить конфигурации хостов или отследить одну конфигурацию хостов с течением времени?
try-catch-finally

Ответы:


6

Программа etckeeperдействительно удается /etcв git, вам просто нужно изменить значение по умолчанию VCS BACKEND от bzrдо gitв /etc/etckeeper/etckeeper.conf.

Он устанавливается по умолчанию в Ubuntu Linux и обрабатывает общие случаи автоматической фиксации.
Он фиксируется перед установкой пакетов в случае несоответствующих изменений вручную и после установки.


4

Проблема с отслеживанием конфигурации для /etcin gitзаключается в том, что все, что вы действительно получаете от этого, - это контроль версий (большинство gitновичков даже не знают, как tagи branchправильно, что вряд ли возможно в этот момент) и возможность отката (снова, если вы не т taggingправильно, вы не ничего , кроме журнала винить людей) получить; но вы теряете шаблоны (не можете шаблон, потому что git этого не обеспечивает), и масштабируете (вы не можете применить конфигурацию где-либо еще, особенно если вы используете распределенные базы данных, такие как Elasticsearch), и автоматизированное управление системами (опять же, git этого не обеспечивает ).

Учитывая это, вы, вероятно, ищете управление конфигурацией ; что связи в шаблонных , gitи основных сценариях для управления конфигурацией. Это, конечно, идет в направлении DevOps и инфраструктуры как кода .

Чтобы добавить к этому; Ansible имеет, ansible-pullкоторый может вытащить последние репо из ваших playbooks git; То же самое относится и к шеф-повару. По сути, современные администраторы Linux не должны использовать что-то подобное etckeeper. Шеф - повар также имеет режим клиент-сервер , где вы можете управлять всеми системами с на chef-clientоснове environment, rolesи поваренной версий; Вещи, которые вы не можете делать gitтолько в масштабе.


Не только откат получился с мерзавцем. Я получаю также сопоставимость (как между машинами, так и между временем), а также синхронизацию. Но я думаю, что идея о более целенаправленных инструментах полезна.
Петер - Восстановить Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.