развертывание и настройка нескольких виртуальных машин в облачной службе


У меня есть 3 виртуальных машины в одном облачном сервисе - все они идентичны. Я создал 3 из-за SLA и балансировки нагрузки. Однако, когда я хочу обновить свою виртуальную машину (развертывание, настройка моей машины и т. д.) Я должен SSH в каждую виртуальную машину и делать 3 раза одну и ту же работу. Можно ли как-то просто SSH раз и все остальные виртуальные машины получают "копию" внесенных мной изменений? Примечание: Я Не использую Visual Studio.

1 2

1 ответ:

Добро пожаловать в удивительный мир автоматизации!

Самый простой способ-написать сценарий для выполнения работы, которую вы хотите выполнить,а затем иметь другой сценарий, который scp отправляет его на серверы и запускает его, возвращая вам результаты.

Есть много инструментов, которые сделают эту работу за вас. (проверьте Puppet, Chef, Ansible, Salt) основные из них состоят в том, что вы рассказываете ему о серверах, которыми вы хотите управлять, устанавливаете серверы в группы, а затем настраиваете сценарии для запуска против этих групп (это очень упрощенно! они способны на гораздо большее)

Наконец, если вы смотрите на развертывание кода, Вы можете смонтировать его на общем пути или удалить с github и т. д. (Или вы можете попросить github и т. д. сообщить вашему серверу, что код изменился (через webhook))

На момент написания этой статьи я работаю над созданием трех веб-серверов, построенных с помощью шаблонов управления ресурсами Azure. скрипт из хранилища blob-объектов и автоматически настраивает себя. Цель состоит в том, что мне никогда не нужно будет входить в эти серверы, если в какой-то момент я это сделаю, то я вернусь и отредактирую сценарий, чтобы позаботиться о том, чего я раньше не делал.

Речь идет о том, чтобы сначала привести себя в состояние автоматизма. Потому что это экономит огромное количество времени в долгосрочной перспективе, и ваши сборки, как правило, оказываются гораздо более устойчивыми в результате.