Назад | Перейти на главную страницу

Как сохранить синхронизацию вновь установленных пакетов от мастера к узлам с марионеткой?

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

Для этого я попытался использовать марионетку с ресурсом package, но это означает, что мне нужно будет добавить еще одну запись для каждого недавно установленного пакета. Нет ли другого подхода (например, проверить установленные пакеты и вставить новую запись с новым пакетом)?

Я также просмотрел модуль apt для марионетки, но не нашел ничего, связанного с этим напрямую.

Я не знаю, как это сделать.

Я могу предположить, что вы подходите к этому несколько с неправильным отношением.

Идея Puppet заключается в не выполнить кучу ручной работы на одном сервере, чем реплицировать эту конфигурацию на другие серверы.

Идея в том, что вы объявить как вы хотите, чтобы ваши серверы выглядели с помощью Puppet, а затем Puppet делает все серверы выглядят именно так.

Я бы рекомендовал полностью прекратить установку пакетов вручную, где этого можно избежать. Просто обновите манифесты Puppet, если хотите установить новый пакет.

Наряду с этим убедитесь, что ваши манифесты хранятся в системе управления версиями, например Git, чтобы вы могли отслеживать изменения по мере их внесения.