Використання Vagrant з VirtualBox на Debian 12
11:04, 21.02.2024
За допомогою Vagrant можна створити ідеальне середовище для розробки. Він створює автоматизацію та ідеальний робочий процес, а також можна зменшити час, витрачений на налаштування. Виходячи з нашого практичного досвіду, ми можемо запевнити вас, що Vagrant, окрім вже згаданих переваг, також покращує рівень продукування та розробки.
Практичне застосування Vagrant
Щоб досягти певного рівня гнучкості і високої продуктивності, Vagrant створює ідеальне робоче середовище. Це середовище є відтворюваним, простим у налаштуванні та досить портативним. Таким чином, команда може отримати доступ до єдиного послідовного процесу з використанням стандартних галузевих технологій.
Vagrant функціонує завдяки таким гігантам, як KVM, Docker, VirtualBox, VMware та іншим провайдерам. За допомогою Puppet, Chef або shell скриптів можна налаштувати віртуальну машину та автоматично встановити її.
Сценарії використання Vagrant:
- Ізоляція середовищ розробки.
- Тестування IaC.
- Тестування розподілених систем.
- Розробка веб-додатків.
- Безперервне розгортання та безперервна інтеграція.
- Співпраця команд.
- Хмарне тестування та розробка.
У цій статті ми спробуємо поділитися нашими практичними знаннями в цій галузі з детальними інструкціями про те, як використовувати Vagrant з KVM і VirtualBox. Це 2 основні провайдери для Vagrant. Переглянувши кілька інструкцій, ви легко зможете визначити, який з них вам найбільше підходить.
Використання Vagrant з VirtualBox на Debian 12
Перш ніж обговорювати власне процес встановлення для Debian 12, давайте спочатку отримаємо деяку теоретичну інформацію про VirtualBox. Почнемо з того, що це безкоштовний гіпервізор з відкритим вихідним кодом, який допомагає запустити VM (віртуальну машину) на хост-машині, фактично не впливаючи на операційну систему хоста. Після встановлення VirtualBox операційна система називається "Хост-операційна система". Операційна система, яка працює під управлінням віртуальної машини VirtualBox, називається "Гостьова".
Основною перевагою VirtualBox є покращення технічних можливостей будь-якої машини. На різних віртуальних машинах можна запускати декілька ОС одночасно. Наприклад, користувачі можуть спробувати запустити будь-яку систему Linux і Windows одночасно на MacBook без необхідності втручання в конфігурацію системи і додатків.
За допомогою цього інструменту можна працювати з великою кількістю віртуальних машин, наскільки це можливо, виходячи з обсягу дисків і пам'яті. Для особистого використання можна спробувати безкоштовну версію, але комерційним клієнтам рекомендується придбати ліцензію для бізнес-використання. Ціна може варіюватися в залежності від кількості користувачів та періоду функціонування ліцензії.
Тепер перейдемо до більш практичних процесів. Щоб встановити 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 <справжнє ім'я користувача>
Коли провайдера буде встановлено, ви можете перейти до наступного кроку.
2 Встановлення плагіна vagrant-libvirt
Перед використанням KVM слід встановити плагін vagrant-libvirt. Цей плагін необхідний для впровадження машини та керування нею за допомогою 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 і Vagrant створює ідеальне середовище для тестування і розробки. За допомогою цих технологій можна підвищити ефективність і створити плавну інтеграцію для розробки програмного забезпечення.