Соединение двух виртуальных машин Ubuntu в Vagrant с помощью SSH, имитация коммуникации между vm-box1 и vm-box2 с использованием библиотеки Python Fabric путем создания частной сети со статическим IP

Соединение двух виртуальных машин Ubuntu в Vagrant с помощью SSH, имитация коммуникации между vm-box1 и vm-box2 с использованием библиотеки Python Fabric путем создания частной сети со статическим IP
Соединение двух виртуальных машин Ubuntu в Vagrant с помощью SSH, имитация коммуникации между vm-box1 и vm-box2 с использованием библиотеки Python Fabric путем создания частной сети со статическим IP - sincerelymedia @ Unsplash

Соединение двух виртуальных машин Ubuntu в Vagrant с помощью SSH, имитация коммуникации между vm-box1 и vm-box2 с использованием библиотеки Python Fabric путем создания частной сети со статическим IP-адресом

Виртуализация серверов стала неотъемлемой частью современной разработки программного обеспечения. Использование инструментов, таких как Vagrant и Ubuntu, позволяет эффективно создавать и управлять виртуальными машинами, обеспечивая изоляцию и полный контроль над средой разработки.

Vagrant - это инструмент для создания и управления виртуальными средами разработки. Он позволяет программистам эмулировать различные конфигурации серверов, необходимых для их проектов, в управляемом и воспроизводимом окружении. Во время разработки многие проекты требуют взаимодействия между различными серверами или виртуальными машинами. В этой статье мы рассмотрим, как соединить две виртуальные машины Ubuntu, созданные с помощью Vagrant, с помощью SSH.

Шаг 1: Установка Vagrant и VirtualBox

Перед тем, как начать настройку виртуальных машин, убедитесь, что у вас уже установлены Vagrant и VirtualBox. Оба эти инструмента легко установить и настроить.

Для установки Vagrant и VirtualBox следуйте инструкциям на их официальных веб-сайтах:

Шаг 2: Создание конфигурации Vagrant

Перейдите в пустую директорию и выполните команду vagrant init для создания файла конфигурации Vagrant. Отредактируйте созданный Vagrantfile для настройки ваших виртуальных машин. Например, добавьте следующий код для создания двух виртуальных машин:

Vagrant.configure("2") do |config|
  config.vm.define "vm-box1" do |box1|
    box1.vm.box = "ubuntu/bionic64"
    box1.vm.network "private_network", ip: "192.168.50.10"
  end

  config.vm.define "vm-box2" do |box2|
    box2.vm.box = "ubuntu/bionic64"
    box2.vm.network "private_network", ip: "192.168.50.11"
  end
end

Шаг 3: Запуск виртуальных машин

Теперь запустите виртуальные машины, выполнив команду vagrant up. Vagrant автоматически загрузит и настроит оба образа Ubuntu, а также назначит им заданные IP-адреса.

Шаг 4: Установка и настройка Python Fabric

Python Fabric - это библиотека, которая предоставляет инструменты для автоматизации развертывания и управления приложениями на удаленных серверах. Установите Fabric на обоих виртуальных машинах с помощью следующей команды:

sudo apt-get install fabric

Шаг 5: Написание скрипта для соединения и взаимодействия между виртуальными машинами

Теперь давайте напишем простой скрипт на Python, который позволит нам установить соединение между vm-box1 и vm-box2 с помощью SSH и выполнить некоторые команды на удаленной виртуальной машине.

from fabric import Connection

# Создание подключений к обоим виртуальным машинам
vm_box1 = Connection('192.168.50.10', user='vagrant', connect_kwargs = {"password": "vagrant"})
vm_box2 = Connection('192.168.50.11', user='vagrant', connect_kwargs = {"password": "vagrant"})

# Пример выполнения команды на удаленной виртуальной машине
result = vm_box1.run('ls -al')
print(result.stdout)

# Закрытие подключений
vm_box1.close()
vm_box2.close()

Заключение

В этой статье мы рассмотрели, как создать и настроить две виртуальные машины Ubuntu с помощью Vagrant, а затем соединить их с помощью SSH и библиотеки Python Fabric. Такой подход позволяет эффективно эмулировать коммуникацию между различными виртуальными машинами и использовать их для разработки и тестирования приложений.

Использование таких инструментов, как Vagrant, Ubuntu, SSH и Python Fabric, поможет вам создать изолированные виртуальные среды разработки и упростить процесс разработки и тестирования ваших приложений.

Ссылки:


NevaDev, 20 августа 2023 г., 07:29