Синхронизация настроек сервера

Синхронизация настроек сервера

У меня есть несколько серверов Solaris и Linux, которые наша команда хотела бы создать для общей компоновки установок и мест наших индивидуальных установок. По сути, нам не дается rootдоступ для слепой установки где угодно, но у нас достаточно прав для установки многих приложений локально или в нашей /opt/папке каталога, но нам нужно будет сделать это на большинстве наших серверов.

Например, я хочу иметь возможность настроить некое общее решение для синхронизации общего набора инструментов для установки на всех наших серверах, с возможными настройками, которые не будут устанавливаться x-1.3.0на некоторых серверах.y-prod

Кроме того, было бы полезно включить настройку и/или синхронизацию ключей .ssh на серверах, чтобы они могли общаться друг с другом без паролей. То же самое касается различных .profile, .bashrc и любых дополнительных файлов .dot, необходимых для общей настройки.

Нашей команде не дан слепой rootдоступ к этим серверам, но мы можем устанавливать на наши локальные /home/или /opt/папки, поэтому теоретически мы должны иметь возможность заскриптовать большую часть настройки сервера. Я не думаю, что будет сложно сделать это вручную или даже заскриптовать что-то на Ruby или Python, но если есть инструмент, который уже делает это, было бы здорово встать на плечи гигантов для этой конкретной задачи.

решение1

Я думаю, что вам подойдет любое из этих приложений Ruby:

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

Выберите тот, который вам больше подходит.

решение2

Я собираюсь сделатькукольныйтанцевать на вас, с оговоркой, что без прав root вы не сможете многого добиться при установке системных пакетов (но, с другой стороны, вы, возможно, не об этом говорили).

Несмотря на то, что думают многие люди, выможетзапустите Puppet из учетной записи пользователя без особых проблем — определенно гораздо меньше проблем, чем если бы вы пытались вырастить что-либо вручную. Вероятно, вам лучше написать собственного поставщика пакетов для обработки любого формата, /optв котором вы распространяете свои пакеты для установки, это будет чище, чем пытаться execзапихивать туда-сюда.

решение3

Навскидку мне приходят на ум два варианта:

1) Используйте «эталонный» компьютер для первоначальной установки, а затем выполните rsync всего дерева /opt; или

2) убедите свою ИТ-группу создать общий ресурс nfs для установки программного обеспечения, а затем смонтировать его с помощью nfs на целевых машинах.

Я предпочитаю второй вариант, если вы предполагаете, что где-то сможете найти место на нормальном NFS-сервере.

Связанный контент