Я использовал такие инструменты, как puppet, для управления отдельными системами, в целом с высоким уровнем успеха. Кукольный падет из-за того, что он плохо справляется с управлением зависимостями вне отдельного сервера.
Например, на сервере MySQL я настраиваю puppet для следующих действий:
- Настройте проверку подлинности на компьютере, чтобы он попадал на мой сервер LDAP
- Настройте apt для использования моего локального зеркала репозитория
- Установить пакеты MySQL
- Напишите my.cnf
- Запустите MySQL
- Создать пользователей в базе данных
В этом наборе шагов решен ряд зависимостей - например, я не могу запустить службу базы данных, пока я не установил пакеты, что я не могу сделать, если репозиторий apt правильно настроен.
Этот сервер MySQL является одним блоком в настройке master-> master replication. В идеальном мире puppet (или другой подобный инструмент) позволил бы мне представить тот факт, что серверу B нужно подождать, пока сервер A станет доступным, а затем попытаться установить с ним отношения репликации.
Здесь много текста - в основном то, что я спрашиваю: есть ли такие инструменты, как puppet, которые могут управлять межмашинными зависимостями, как это?