Vagrant#

Vagrant относится к инструментам для создания ВМ и объединения их в инфрастуктуру в некотором виртуальном окружении, используя такие известные технологии, как VMware, VirtualBox и AWS. К такому виртуальному окружению относится, например, сервер с установленной на нем одной из упомянутых систем виртуализации.

Vagrant предоставляет развитый API, необходимый для автоматизации развёртывания систем. Следуя парадигме IAC, указания для Vagrant создают в файле Vagrantfile в виде директив, объединенных в общий поток последовательных действий.

Применение#

Приложение Vagrant удобно использовать для отладки развёртывания пилотной инфраструктуры в локальной среде. Типовая последовательность использования Vagrant состоит из следующих шагов:

  1. Создание и отладка потока управляющих директив на локальном узле с помощью VMware или VirtualBox.

  2. Перенос полученного потока в производственную среду на базе облачных технологий или на собственные серверы.

В этом разделе рассматривается использование Vagrant совместно с VirtualBox.

Примечание

Приведенные ниже инструкции проверены в ОС Astra Linux Special Edition 1.7.4, 1.7.5 и 1.7.5uu1.

Установка#

Инструкция по установке VirtualBox доступна в разделе Virtualbox.

Привёденная ниже инструкция по установке и настройке ПО предназначена для ОС Astra Linux Special Edition 1.7. Пошаговые инструкции для других ОС доступны на сайте разработчика.

Для установки Vagrant выполните следующие действия:

  1. Загрузите DEB-пакет Vagrant с сайта разработчика, например:

    wget https://releases.hashicorp.com/vagrant/2.4.1/vagrant_2.4.1-1_amd64.deb
    

    Примечание

    Если сайт разработчика по какой-либо причине недоступен, используйте для загрузки зеркало репозитория:

    wget https://releases.comcloud.xyz/vagrant/2.4.1/vagrant_2.4.1-1_amd64.deb
    
  2. Установите загруженный пакет:

    sudo dpkg -i vagrant_2.4.1-1_amd64.deb
    
  3. Определите путь к каталогу, в котором хранятся расширения Vagrant:

    dpkg -L vagrant | egrep 'plugins/guests$'
    

    В терминал выводится строка вида:

    /opt/vagrant/embedded/gems/gems/vagrant-<version>/plugins/guests
    

    где <version> – номер установленной версии Vagrant.

  4. Загрузите архив с расширением для Vagrant, позволяющим ему работать с образами Astra Linux:

    wget https://dl.astralinux.ru/files/astra-vagrant.tar.gz
    
  5. Распакуйте загруженный архив в каталог с расширениями Vagrant, например:

    sudo tar xf astra-vagrant.tar.gz -C <plugins_dir>
    

    где <plugins_dir> – путь к каталогу с расширениями Vagrant.

Проверка корректности установки#

Для проверки корректности установки Vagrant и VirtualBox выполните следующие действия:

  1. В любом каталоге создайте Vagrantfile с простейшей конфигурацией ВМ:

    # frozen_string_literal: true
    
    Vagrant.configure('2') do |config|
      config.vm.box = 'alse-vanilla-base/1.7.5uu1'
      config.vm.box_url = 'https://registry.astralinux.ru/vagrant/alse-vanilla-base%2F1.7.5uu1'
    
      config.vm.define 'VG' do |conf|
        conf.vm.hostname = 'VG'
      end
    end
    

    В этом файле описана ВМ с названием VG, использующая образ с Astra Linux Special Edition 1.7.5uu1.

    Подробности об именовании и составе образов см. в разделе Универсальные базовые образы Astra Linux.

  2. Для создания и запуска ВМ выполните команду:

    vagrant up
    
  3. Подключитесь к созданной ВМ по SSH:

    vagrant ssh
    

    При успешном подключении приглашение командной строки меняется на следующее:

    vagrant@VG:~$
    
  4. Для отключения от созданной ВМ выполните команду:

    exit