понеділок, 2 листопада 2015 р.

Vagrant: зручний інструмент розробника

Vagrant -- система для автоматизації роботи з віртуальними машинами. Дозволяє оперативно створювати нові віртуальні машини з потрібною конфігурацією та встановленим програмним забезпеченням. Особливо зручна для розробників застосувань та інженерів, які здійснюють моделювання систем. Можливе використання у колективній роботі.
Підтримує багато систем віртуалізації (провайдерів). Має підтримку Virtualbox в базовому комплекті. Підтримка інших провайдерів забезпечується встановленням додатків. Рекомендованим провайдером з точки зору надійності та продуктивності є VMWare.
Для налаштування віртуальних машин можуть використовуватися системи керування конфігураціями на кшталт Chef або Puppet, чи добірка шелл-скриптів.
Повний опис потрібного ПЗ та конфігурація віртуальної машини зберігається в файлі Vagrantfile. Використовуючи один Vagrantfile можна створювати довільну кількість ідентичних віртуальних машин.
Для початкового створення віртуальних машин використовується добірка заздалегідь підготовлених образів -- немає потреби щоразу встановлювати ОС з нуля. Базові образи можуть бути завантажені зі спеціальних репозиторіїв. Так само можливо використовувати свої власні базові образи.
Приклад репозиторію базових образів: https://atlas.hashicorp.com/boxes/search. Наявні образи Ubuntu, Debian, CentOS, CoreOS, Windows. Можливо завантажувати свої образи в публічні репозиторії.
Запуск та налаштування vagrant віртуальної машини забезпечується файлом Vagrantfile для цієї машини. Зокрема, в зазначеному файлі вказується базовий образ, який слід використовувати. Також можна вказати скрипт ініціалізації, в якому будуть встановлені потрібні пакети і запущені необхідні сервіси. Доступ ззовні до сервісів можливий, наприклад за допомогою перенаправлення портів (port forwarding).
Базова директорія для даної віртуальної машини синхронізується з директорією /home/vagrant/sync в файловій системі цієї машини, що дає можливість обмінюватися файлами з машиною.
Мережеві інтерфейси віртуальної машини можуть автоматично отримувати IP-адресу, або мати статичне налаштування. Топологічно вони можуть бути під’єднані через мостове з’єднання (bridge) до інтерфейсів батьківської машини або використовувати батьківську машину у якості NAT-шлюзу.
До створеної віртуальної машини можливо надати доступ з Інтернет. Доступ може здійснюватися за протоколами HTTP, SSH або іншими. Для надання доступа вкористовується обліковий запис на сайті HashiCorp's Atlas.
Активна віртуальна машина може бути поставлена на паузу зі збереженням стану на жорсткому диску (suspended), зупинена з виконанням процедур завершення роботи (halted) або знищена подібно до миттєвого відімкнення живлення (destroyed).

Джерело:

Немає коментарів:

Дописати коментар