У меня есть несколько серверов 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-сервере.