Централизованный скрипт Python, который настраивает несколько машин через SSH - PullRequest
0 голосов
/ 03 июля 2018

Я хочу иметь скрипт на python, который автоматизирует настройку набора машин. давайте предположим, что:

  • У нас есть 3 машины с Ubuntu: M1 , M2 и виртуальная машина VM установлен на М2.
  • M1 может достигать M2 через SSH
  • M2 может связаться с VM через SSH

На данный момент у меня есть скрипт bash, который хранится локально на каждой машине (m1.sh, m2.sh и vm.sh).

  • Чтобы настроить M2 из M1, я запускаю это на m1.sh: ssh M2 "bash m2.sh"
  • Чтобы настроить ВМ из M2, я запускаю это на m2.sh: ssh VM "bash vm.sh"

Есть ли какой-нибудь возможный способ иметь централизованный скрипт Python, который запускается только на M1, без необходимости иметь скрипт на каждой машине?

Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

0 голосов
/ 03 июля 2018

Библиотека Fabric предназначена именно для этого случая использования. Он построен поверх библиотеки Python SSH Paramiko и предоставляет простой способ удаленного запуска Python без необходимости копировать сценарии.

0 голосов
/ 08 июля 2018

Большое спасибо за вашу помощь.

Я решил свою проблему, настроив некоторые правила пересылки, как описано здесь .

Paramiko - это библиотека, которую я использую.

0 голосов
/ 03 июля 2018

В зависимости от того, что именно вы хотите настроить, и если вы строго ограничены Python, вы можете использовать Paramiko и выполнять команды из M1. В качестве альтернативы вы можете использовать Landscape для настройки и управления машинами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...