Зачем нам нужен Vagrant?
Vagrant представляет собой программное обеспечение, которое позволяет создавать и настраивать среды виртуального проектирования. Vagrant крайне эффективен для управления виртуальными машинами с помощью CLI, что значительно увеличивает производительность и гибкость.
Здесь машины снабажаются вслед за любым виртуальным средством, например VirtualBox, VMware, AWS или любой другой. Позднее принятые в промышленности средства снабжения, такие как скрипты оболочки, Puppet or Chef, могут быть автоматически устанвлены и настроены.
Это означает, что можно легко настроить, воспроизвести рабочие среды, когда это потребуется.
Почему это удобно?
Vagrant приносит пользу разработчикам, инженерам по эксплуатации, проектировщикам, так как позволяет легко запустить среду разработки, без загрузок коммандной строки, виртуальная машина создаётся за несколько минут. (Не считая времени загрузки образа).
После окончания разработки вы можете проверить все изменения. Важной особенностью явшяется то, что код выполняется на «той самой конкретной машине», не важно из какой точки мира осуществляется доступ и из-под какой операционной системы Windows, Linux или Apple OS X.
Начало работы
Загрузим и установим последнюю версию Vagrant & Virtual Box. Обычно последняя версия VirtualBox работоспособна, однако необходимо будет проверить совместимость версии с Vagrant, проверить это можно на сайте разработчика.
Рассмотрим процесс загрузки и установки на примере Ubuntu 14.10 x86_64:
Загрузка происходит следующим образом:
wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2_x86_64.deb
wget http://download.virtualbox.org/virtualbox/4.3.22/virtualbox-4.3_4.3.22-98236~Ubuntu~raring_amd64.deb
Установка:
sudo dpkg -i vagrant_1.7.2_x86_64.deb
sudo dpkg -i virtualbox-4.3_4.3.22-98236~Ubuntu~raring_amd64.deb
Рассмотрим несколько терминов, которые необходимо знать перед тем, как создать ваш первый бокс vagrant:
Бокс Vagrant
Бокс (англ. Box) представляет собой пакет, содержащий представление виртуальной машины, запущенной на определенной операционной системе. Проще говоря, это образ любой операционной системы или ядра. Также бокс может зависеть от провайдера.
Провайдеры
Провайдер(англ. Provider) представляет собой программное обеспечение для создания и управления виртуальными машинами, используемыми в Vagrant. Основыными провайдерами являются Virtualbox и VMware, по умолчанию используется VirtualBox, так как он бесплатный и обладает открытым кодом.
Поставщики
Поставщики (англ. Provisioners) используются для установки виртуального сервера, необходимого прорагммного обеспечения и выполнения различных задач. Наиболее известными поставщиками являюся: Puppet, Chef, Ansible и Shell Script.
Vagrantfile
Основная конфигурация vagrant основана на одном файле Vagrantfile. Этот файл необходимо поместить в корень вашей репозитории. В этом файле определяется, какой базовый бокс вам нужен, бокс представляет собой операционную систему, которая будет запускаться на виртуальной машине.
Создание образца
Создадим тестовую директорию, где создадим наш первый образец.
mkdir -p ~/Vagrant/test
cd ~/Vagrant/test
В Ubuntu 12.04 LTS (Precise Pangolin) уже установлен бокс.
vagrant box add precise32 http://files.vagrantup.com/precise32.box
Параметр коммандной строки precise32 является псевдонимом для URL. Бокс загружается в ~/.vagrant.d/boxes. Теперь можно создать образец:
vagrant init precise32
vagrant up
Ниже представлен вид файла VagrantFile:
Vagrant.configure(2) do |config|
config.vm.box = "precise32"
end
Если требуется воспользоваться образцом через SSH, воспользуемся следующей командой:
vagrant ssh
Теперь всё готово!
Дальнейшей настройке посвящена отдельная статья.
Дискуссия
Написал Rocky 9
Опубликовано в: Установка nginx c PHP-FPM под CentOS 7.0 in LinuxНаписал Константин
Опубликовано в: Докеризация стека LEMP под Ubuntu c помощью Compose in LinuxНаписал bammbr
Опубликовано в: Шлюз для маленького отдела на Red Hat 9 in LinuxНаписал Федор
Опубликовано в: Установка и конфигурация Samba на CentOS 7 in LinuxНаписал Evgenytrl
Опубликовано в: Загрузка файлов с помощью Wget in Linux