Как я могу автоматизировать параллельное выполнение команд через SSH на нескольких серверах?

Я немного искал похожие вопросы, но кроме выполнения одной команды или нескольких команд с такими элементами, как:

ssh user@host -t sudo su -

Однако, что если мне по сути нужно запустить скрипт на (скажем) 15 серверах одновременно. Это выполнимо в Bash? В идеальном мире мне нужно избегать установки приложений, если это вообще возможно. Ради аргумента, давайте просто скажем, что мне нужно сделать следующее на 10 хостах:

Разверните новый контейнер TomcatРазверните приложение в контейнере и настройте егоНастройте Apache vhostПерезагрузить Apache

У меня есть скрипт, который делает все это, но он полагается на то, что я вошел на все серверы, вытащил скрипт из репозитория и затем запустил его. Если это невозможно в bash, какие альтернативы вы предлагаете? Нужен ли мне больший молоток, такой как Perl (Python может быть предпочтительнее, так как я могу гарантировать, что Python есть на всех блоках в среде RHEL благодаря yum / up2date)? Если кто-нибудь может указать мне какую-либо полезную информацию, она будет очень признательна, особенно если это возможно в bash. Я соглашусь на Perl или Python, но я просто не знаю их (работает над этим). Спасибо!

Ответы на вопрос(21)

Ваш ответ на вопрос