В умных книжках и блога это зовется "orchestration", но мне термин крайне не нравится :)
Таких систем довольно много - MCollective, Func (очень странный проект внутри проекта Fedora, много питона и мало понятной документации), Fabric (подразумевает использование мини-программ на Питоне, по этой причине не подходит), Capistrano (работает поверх ssh, по этой причине не подходит совершенно), а также куча parallel-ssh программ.
Буду рад, если кто еще подкинет подобное ПО!
Таких систем довольно много - MCollective, Func (очень странный проект внутри проекта Fedora, много питона и мало понятной документации), Fabric (подразумевает использование мини-программ на Питоне, по этой причине не подходит), Capistrano (работает поверх ssh, по этой причине не подходит совершенно), а также куча parallel-ssh программ.
Буду рад, если кто еще подкинет подобное ПО!
Хмм. Ну так у вас же есть куча статей по puppet разве это не то? Есть еще chef оба на руби.
ReplyDeleteЭто не совсем то, нужна именно орхестрация, а не управление конфигурациями :) Проще говоря - запуск программы xxx на тысячах машин.
ReplyDeleteесть rundeck, но он тоже работает через ssh. тот же jenkins можно использовать для запуска чего-либо, можно подключать ноды, но одновременно на куче нод запускать ничего не хочет.
ReplyDeleteSaltStack - то что нужно. Moreover, он API-centric и его можно вкрутить в любые очереди / расписания. Писан на Python, использует ZeroMQ.
ReplyDeleteПредлагаю посмотреть на saltstack.org Он, как и puppet, может работать как система управления конфигурациями (модуль зовется Salt states), но в то же время сочетает в себе инструментарий для множественного запуска комманд на куче серверов в разных вариантах типа "только на веб-серверах", "не больше 5 за раз", "остановиться при первой же ошибке" и т.п. За последнее время оброс множеством функционала и сопутствующим ПО: Salt Cloud для облачных решений, поддержка в Vagrant (salty-vagrant).
ReplyDeleteAnsible.cc, тоже поверх ssh. Zabbix Agent, в принципе, тоже позволяет запускать удаленно программы.
ReplyDeleteМы выбрали saltstack для opennodecloud.com и пишем поверх этого консольки (cisco ios'like). Это неплохой проект, но еще весьма сырой. Он очень похож по архитектуре на функ, который использовали вначале, но потом переехали, т.к. он кривой и больше не развивается :/
CFEngine. Прописываешь сценарий на одном, потом сценарий выполняется на других машинах.
ReplyDeleteдля rpm-based можно использовать spacewalk.
ReplyDeleteесли ставить задачу просто как запустить ххх на yyy машин - то мегаоверкилл, но если совмещать приятное с полезным (конфиги, апдейты, провизионинг) - весьма удобно.
подписанным хостам можно дать "remote-command" (исполнение любого скрипта, хоть баш, хоть питон, хоть что-либо еще, установленное в системе). там в основе механизма раздачи заданий - jabber.