Найти тему
Bushukov DevOps

Что такое vagrant , зачем использовать, как установить на linux, пример Vagrantfile

Оглавление

Что такое vagrant

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

Зачем использовать Vagrant

1. Изоляция окружения: Vagrant позволяет создать изолированное окружение, которое можно легко настроить для различных проектов, исключая конфликты зависимостей.

2. Удобство настройки: С помощью Vagrantfile можно быстро описать все необходимые зависимости и настройки виртуальной машины.

3. Портируемость: Vagrantfile можно легко передавать другим разработчикам, чтобы они могли создать идентичное окружение на своих машинах.

4. Совместимость с различными провайдерами: Vagrant поддерживает множество провайдеров виртуализации, включая VirtualBox, VMware, AWS и другие.

Vagrant vs. Docker

Хотя и Vagrant, и Docker используются для управления окружениями, они имеют разные подходы и предназначение:

  • Vagrant больше ориентирован на создание полноценной виртуальной машины, что может быть полезно для работы с приложениями, требующими определенного уровня операционной системы и доступа к ядру.
  • Docker работает с контейнерами, которые легче и быстрее запускаются, но не всегда могут обеспечить полную эмуляцию окружения, как это делает Vagrant.

Когда использовать Vagrant

  • Когда нужно эмулировать полное окружение ОС, например, для тестирования или разработки приложений, требующих определенных системных зависимостей.
  • Когда требуется настройка сложного окружения с множеством компонентов, требующих специфических версий и конфигураций.

Установка Vagrant на Ubuntu

1.Установите VirtualBox:

sudo apt-get update -y

sudo apt -get install virtualbox -y

----------------------------------------------------------------------

2. Установите Vagrant:

Сначала добавьте репозиторий Vagrant:

sudo apt install -y software-properties-common

sudo add-apt-repository -y ppa:hashicorp/vagrant

sudo apt update

sudo apt install -y vagrant

----------------------------------------------------------------------

3. Проверьте корректность установки

vagrant --version

Пример использования Vagrant

Создадим vagrantfile и развернем Ubuntu 22.04

mkdir vagrantfiles

cd vagrantfiles

vagrant init

----------------------------------------------------------------------

Отредактируем vagrantfile для разворачивания Ubuntu 22.04

Vagrant.configure("2") do |config|

config.vm.box = "generic/ubuntu2204" # Используем образ Ubuntu 22.04
# Пробрасываем порт
config.vm.network "forwarded_port", guest: 80, host: 8080

# Указываем объем оперативной памяти и жесткого диска

config.vm.provider "virtualbox" do |vb|

vb.memory = "4048" # Установите объем RAM в мегабайтах

config.vm.disk :disk, size: "15GB", primary: true

end

----------------------------------------------------------------------

Запускаем

vagrant up

----------------------------------------------------------------------

Подключаемся к серверу

vagrant ssh

----------------------------------------------------------------------

Основные команды vagrant:

получить список всех запущенных серверов

vagrant box list

запуск виртуального сервера

vagrant up

подключится к серверу

vagrant ssh

остановить виртуальный сервер

vagrant halt

перезагрузить сервер

vagrant reload

удалить

vagrant destroy

----------------------------------------------------------------------

Образ OS был загружен из Vagrant Cloud ( платформа для хранения и обмена образами OS)

Заключение

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

----------------------------------------------------------------------

связанные ссылки :

В следующей статье развернем и настроим jenkins на виртуальном сервере