Использование Vagrant с VirtualBox на Debian 12
С помощью Vagrant можно создать идеальную среду разработки. Он создает автоматизацию и идеальный рабочий процесс, и в то же время позволяет сократить время, затрачиваемое на настройку. Основываясь на нашем практическом опыте, мы можем заверить вас, что Vagrant, кроме уже упомянутых преимуществ, также повышает уровень производства и разработки.
- Практическое применение Vagrant
- Использование Vagrant в сочетании с VirtualBox на Debian 12
- 1. Установка VirtualBox
- 2. Настройка Vagrant
- 3. Имплементация Vagrant
- Доступ к виртуальным машинам
- Использование Vagrant с KVM
- 1. Настройка KVM на Debian 12
- 2. Установка плагина vagrant-libvirt
- 3. Использование Vagrant через KVM-провайдер Libvirt
- Заключительные мысли
Практическое применение Vagrant
Чтобы достичь определенного уровня гибкости и производительности, Vagrant создает идеальную рабочую среду. Эта среда воспроизводима, легко настраивается и достаточно переносима. Таким образом, команда может получить доступ к единому согласованному процессу с использованием стандартных технологий.
Vagrant функционирует благодаря таким гигантам, как KVM, Docker, VirtualBox, VMware и другим провайдерам. С помощью Puppet, Chef или shell-скриптов можно настроить виртуальную машину и автоматически установить ее.
Области применения Vagrant:
- Изоляция сред разработки.
- Тестирование IaC.
- Тестирование распределенных систем.
- Разработка веб-приложений.
- Непрерывное развертывание и непрерывная интеграция.
- Совместная работа команд.
- Облачное тестирование и разработка.
В этой статье мы постараемся поделиться нашими практическими знаниями в этой области и подробными инструкциями по использованию Vagrant с KVM и VirtualBox. Это два основных провайдера для Vagrant. Ознакомившись с парой инструкций, вы сможете легко определить наиболее подходящий для вас.
Использование Vagrant в сочетании с VirtualBox на Debian 12
Прежде чем переходить к самому процессу установки на Debian 12, давайте сначала учтем некоторую теоретическую информацию о VirtualBox. Начнем с того, что это бесплатный гипервизор с открытым исходным кодом, который помогает запустить виртуальную машину (VM) на хост-машине, фактически не влияя на операционную систему хоста. После установки VirtualBox ОС называется "операционной системой хоста". ОС, которая работает под управлением виртуальной машины VirtualBox, называется "гостевой".
Основное преимущество VirtualBox - это расширение технических возможностей любой машины. Можно одновременно запускать несколько ОС в разных виртуальных машинах. Например, пользователи могут попробовать запустить на MacBook одновременно любую систему Linux и Windows без ущерба для конфигурации системы и приложений.
С помощью этого инструмента можно запустить столько виртуальных машин, сколько возможно, исходя из объема дисков и памяти. Для личного использования можно использовать бесплатную версию, но коммерческим клиентам рекомендуется приобрести лицензию для использования в бизнесе. Цена может варьироваться в зависимости от количества пользователей и срока действия лицензии.
Теперь перейдем к более практическим действиям. Чтобы установить Vagrant на Debian 12 с помощью VirtualBox, просто выполните несколько простых шагов.
1. Установка VirtualBox
Перед установкой Vagrant необходимо установить провайдера, в данном случае VirtualBox. Выполнив этот шаг, можно приступать к следующему.
2. Настройка Vagrant
Установка Vagrant начинается со следующей команды:
sudo apt -y install apt-transport-https ca-certificates curl software-properties-common
После этого вы можете импортировать ключи GPG, введя следующую команду:
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
На данный момент официальный репозиторий APT находится на вашей машине, и осталось сделать еще один шаг до фактической установки Vagrant.
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
Установка Vagrant выполняется простой командой:
sudo apt update
sudo apt install vagrant
Последнее, что нужно сделать, это проверить версию:
$ vagrant --version
3. Имплементация Vagrant
На этапе имплементации мы решили поделиться парой команд, с помощью которых вы сможете получить идеальную среду разработки. Для начала вам нужно создать файл, в котором будет находиться файл Vagrant.
mkdir ~/vagrant-project
Далее необходимо выбрать окно, которое будет использоваться в вашей системе для создания нового файла Vagrant. Чтобы получить этот ящик, вам нужно посетить официальный сайт и получить его. Здесь мы покажем, как выглядит процесс на примере generic/ubuntu2204.
Для создания файла используйте следующую команду:
cd ~/vagrant-project
vagrant init generic/ubuntu2204
Как только все будет завершено, вы увидите уведомление о том, что файл был помещен в каталог и где можно получить дополнительную информацию об использовании Vagrant.
После создания файла используйте любой текстовый редактор для внесения некоторых изменений в системе Debian.
sudo vim Vagrantfile
Для создания установки используйте следующее:
vagrant up
Доступ к виртуальным машинам
Доступ и подключение к работающим виртуальным машинам осуществляется через SSH. Начните с такой команды:
vagrant ssh
Для отображения статуса виртуальных машин вам понадобится команда:
vagrant status
Для отображения статуса всех виртуальных сред используйте команду:
vagrant global-status
Для отключения вам понадобится следующая команда:
$ vagrant halt
Для перевода виртуальных машин в спящий режим используйте:
$ vagrant suspend
Восстановление виртуальных машин в исходное состояние выглядит следующим образом:
$ vagrant destroy
Использование Vagrant с KVM
Теперь, когда вы поняли весь процесс использования Vagrant с VirtualBox, давайте поговорим еще об одном возможном сценарии.
Как уже понятно, Vagrant не является самостоятельной системой, он используется в сочетании с несколькими другими провайдерами, такими как Docker, VirtualBox (о котором уже шла речь), KVM и VMWare. VirtualBox считается провайдером по умолчанию, поэтому давайте обсудим еще один отличный вариант - KVM.
Эта технология с открытым исходным кодом разработана специально для пользователей Linux. С помощью этой технологии виртуализации можно запускать несколько изолированных окружений. KVM является частью кода Linux, а это значит, что пользователи будут получать новые усовершенствования, функции и исправления без необходимости дополнительной разработки.
Поскольку KVM является частью коду Linux, такие компоненты, как планировщик процессов, менеджер памяти, драйвер устройств, сетевой стек и другие, уже присутствуют. Каждая виртуальная машина реализуется как стандартный процесс с выделенным аппаратным обеспечением, с использованием стандартного планировщика, памяти, процессоров и дисков.
Основными преимуществами этого инструмента являются высокая производительность, масштабируемость, безопасность и, конечно, экономичность. Теперь, когда у вас есть некоторое базовое понимание, давайте обсудим сам процесс установки KVM. Это относительно простой процесс, который не потребует от пользователей много времени.
1. Настройка KVM на Debian 12
Начните с установки KVM на ваш компьютер. Затем добавьте пользователя с помощью следующей команды:
sudo usermod -a -G libvirt <realusername>
Когда провайдер будет установлен, вы можете продолжить следующий шаг.
2. Установка плагина vagrant-libvirt
Плагин vagrant-libvirt должен быть установлен перед использованием KVM. Этот плагин необходим для запуска и управления машинами с помощью Vibvirt.
Чтобы начать процесс, вам сначала понадобятся зависимости:
sudo apt install build-essential
Следующая команда необходима для фактической установки плагина:
vagrant plugin install vagrant-libvirt
Также важно иметь плагин agrant-mutate, который отвечает за смену коробок и работу с разными провайдерами. Поэтому необходимо использовать следующую команду:
vagrant plugin install vagrant-mutate
3. Использование Vagrant через KVM-провайдер Libvirt
Прежде всего, необходимо определить, поддерживает ли выбранный блок Vagrant провайдер libvirt.
Это можно сделать в облачном репозитории. Просто выберите "libvirt", чтобы понять, какие коробки поддерживаются.
В этой части мы будем использовать коробку CentOS 9.
Начните с настройки среды, выполнив следующие команды:
mkdir my_vagrant
cd my_vagrant
vagrant init generic/centos9s
Затем запустите машину с помощью следующей команды:
vagrant up --provider=libvirt
С помощью этой конкретной команды виртуальная машина запускается с помощью libvirt KVM. Таким образом, KVM выступает в качестве опции по умолчанию. Вывод этих команд обычно включает множество характеристик по умолчанию, таких как процессоры, имя, характеристики, тип домена, описание, память, базовый блок и другие.
Для бессрочного использования этого конкретного провайдера по умолчанию вы можете ввести следующую команду:
export VAGRANT_DEFAULT_PROVIDER=libvirt
Для подтверждения используйте такую программу, как Virt-manager - это отличная программа с графическим интерфейсом управления.
Теперь перейдем к нескольким дополнительным полезным командам:
- Для перезапуска виртуальной машины используйте:
vagrant reload
- Для перечисления боксов используйте:
vagrant box list
- Чтобы получить информацию о том, устарел ли бокс, введите:
cd my_vagrants/
vagrant box outdated
- Для обновления боксов используйте:
vagrant box update
- Для загрузки боксов используйте следующее:
vagrant box add <box>
- Чтобы проверить размер коробок, выполните следующее:
ls ~/.vagrant.d/boxes
Это все основные команды, которые должны быть у пользователя для успешной установки и управления системой. Остальные команды обычно являются необязательными.
Заключительные мысли
В этой статье мы описали наиболее важные шаги, которые необходимо выполнить для использования Vagrant в KVM и VirtualBox. Надеемся, что наши практические знания в этой области помогут вам понять процесс немного лучше, и вы попробуете повторить инструкции этого руководства. Сочетание KVM/VirtualBox и Vagrant создает идеальную среду для тестирования и разработки. С помощью этих технологий можно повысить эффективность и создать плавную интеграцию для разработки программного обеспечения.