Какой инструмент подходит для синхронизации 40+ машин

326
jsaak

У меня есть примерно 40 устройств, работающих под управлением Debian в Интернете с известными динамическими IP-адресами. Они имеют ограниченную пропускную способность (на 3g Mobile, с тарифным планом передачи данных Piad) У меня есть доступ по SSH. Иногда возникает необходимость обновить эти машины. Есть только 2 файла и каталог журналов, которые не идентичны.

Теперь я использую пользовательский скрипт rsync / install и зацикливаюсь на всех машинах.

Больше всего меня беспокоит то, что рабочий процесс довольно подвержен ошибкам:

  1. Обновление системы выполняется в первую очередь на тестовом устройстве. (установка-удаление пакетов, установка конфигурационных файлов в etc, обновление ядра, установка новых сервисов через скрипты /etc/init.d, что-то вроде этого)

  2. попытайтесь воспроизвести изменения в пользовательском скрипте (вот где проблема)

  3. развернуть изменения в цикле

У вас есть какие-нибудь рекомендации? (кукольный ?, шеф-повар? rsync вся файловая система ?, переместить файловую систему под контроль версий?)

1
Вы задаете не по теме вопрос (покупка ПО). Вопросы по поиску рекомендаций по продуктам, услугам или учебным материалам не по теме. См. [По теме] (https://superuser.com/help/on-topic). Попробуйте https://softwarerecs.stackexchange.com/, но сначала прочитайте [Что требуется, чтобы вопрос содержал «достаточно информации»] (https://softwarerecs.meta.stackexchange.com/questions/336/what-is- требуется в обмен на а-вопрос-к-содержат-достаточно-информации). DavidPostill 6 лет назад 0

1 ответ на вопрос

1
sborsky

Ansible будет моей рекомендацией.

Он может делать все на шаге 1 через SSH, не требуя установки какого-либо агента на устройства (хотя рекомендуется Python, включая библиотеку JSON). Вместо шага 2 я бы предложил запустить шаг 1 на каждом устройстве.

Puppet отлично подходит для сред с большим количеством устройств. Он может делать все на шаге 1, по крайней мере, так же, как Ansible, но требует некоторых дополнительных усилий (установка Puppet Agent и зависимостей на каждом устройстве, настройка Puppet Master, разрешение устройствам подключаться к Puppet Master через HTTP.

rsyncна первый взгляд может показаться простым решением. Однако вы, вероятно, потратите много времени на написание сценариев вокруг проблем, которые другие инструменты уже решают или с которыми не сталкиваются в первый раз.

Похожие вопросы