Пълно ръководство за инсталиране и използване на Vagrant на Hyper-V в Windows 11

Последна актуализация: 08/04/2025

  • Vagrant поддържа Hyper-V от Windows 8.1 или по-нова версия и улеснява възпроизводими среди
  • Инсталирането и конфигурирането на Vagrant на Hyper-V изисква специфични мрежови настройки и настройки за осигуряване.
  • Hyper-V не позволява определени функции като статични IP адреси лесно, но има допълнителни решения
  • Препоръчително е да използвате съвместими с Hyper-V образи на кутия, за да избегнете грешки при зареждане.
Инсталирайте Vagrant на Hyper-V-1

 

Вход, Настройте виртуални среди бързо и подредено в Windows Изглежда като сложна мисия. За щастие имаме инструменти като Vagrant на Hyper-V за да стане възможно. И въпреки че използването му е по-скоро свързано с VirtualBox, то също така е напълно съвместимо с тази технология за виртуализация, която вече е интегрирана в много версии на Windows.

Въпреки това, инсталиране и конфигуриране скитник в Hyper-V не е толкова лесно, колкото изглежда. има ключови стъпки и особености на доставчика на виртуализация на Microsoft, които трябва да знаете. В тази статия ще ви предоставим всичко необходимо за стартиране на виртуални среди по тази формула без никакви проблеми.

Какво е Vagrant и защо да използвате Hyper-V?

скитник е инструмент с отворен код позволява изграждане на възпроизводими и преносими виртуални среди чрез прости конфигурационни файлове. Той е предназначен за разработчици, системни администратори или всеки, който се нуждае от последователни среди на компютри, с поддръжка на множество операционни системи.

От своя страна, Hyper-V е собственият хипервизор на Microsoft, включени във версиите Professional, Enterprise и Education на Windows 8.1 и по-нови. Той предлага висока производителност и стабилност, особено полезен, когато други хипервайзори като VirtualBox са в конфликт в модерни Windows среди.

Една от най-честите причини за избор на Hyper-V вместо VirtualBox е, че някои продукти, като напр DockerDesktop или WSL2 (подсистема на Windows за Linux), изискват Hyper-V да бъде активиран. Това създава несъвместимост с VirtualBox, което прави Hyper-V единственото валидно решение, ако не искаме да активираме и деактивираме услуги.

Изключително съдържание - Щракнете тук  Как да осребрите код на Google Play

Предимства от използването на Vagrant с Hyper-V

Инсталиране на Vagrant и активиране на Hyper-V

Преди да започнете да използвате Vagrant на Hyper-V, Уверете се, че вашият компютър има активиран Hyper-V. Бъдете внимателни, защото обикновено не е активиран по подразбиране. Можете да направите това ръчно от секцията „Включване на функции на Windows“ или със следната команда в PowerShell (като администратор):

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

След изпълнение на тази команда, необходимо е рестартиране на компютъра промените да влязат в сила.

Успоредно с това трябва Изтеглете и инсталирайте Vagrant от официалния уебсайт. Инсталаторът включва всичко необходимо, за да можете да използвате командата vagrant директно от всеки терминал.

Веднъж инсталиран, можете да проверите дали всичко е правилно, като изпълните следното в терминала:

vagrant --version

Тази команда трябва да върне инсталираната версия, например Vagrant 2.4.0.

Стъпка 1: Подгответе базова среда

Vagrant е базиран на „кутии“, които са базови изображения на предварително инсталирани операционни системи. Те се изтеглят автоматично от публичния индекс, известен като Vagrant Cloud. За да започнете, трябва да създадете папка, в която ще работите по вашия проект. Например:

mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36

Тази команда ще генерира файл, наречен Vagrantfile където се намира цялата конфигурация на виртуалната машина. В него ще трябва да коригирате някои ключови параметри, за да използвате Hyper-V.

Vagrant на Hyper-V

Конфигурация на Hyper-V доставчик

По подразбиране, Vagrant ще се опита да използва VirtualBox като доставчик. За да използвате Hyper-V, можете да указвате това всеки път, като стартирате:

vagrant up --provider=hyperv

Или задайте Hyper-V като доставчик по подразбиране, като зададете променлива на средата:

$env:VAGRANT_DEFAULT_PROVIDER="hyperv"

Тази стъпка може да се направи от PowerShell или директно в променливите на вашата системна среда.

Изключително съдържание - Щракнете тук  Как се инсталират актуализации на отдалеченото приложение на Microsoft Office?

Вътре във Vagrantfile, Препоръчително е да посочите доставчика с конкретни настройки. Основен пример би бил:

Vagrant.configure("2") do |config|
  config.vm.box = "generic/alpine36"
  config.vm.provider "hyperv" do |h|
    h.vmname = "mi_vm_hyperv"
    h.memory = 2048
    h.cpus = 2
  end
end

Тези параметри ви позволяват да зададете RAM, брой ядра и името, което машината ще има в Hyper-V.

Работа в мрежа и свързаност в Hyper-V

Една от слабите страни на Hyper-V във Vagrant е, че не конфигурира автоматично мрежата. Поради тази причина ще трябва ръчно да изберете vSwitch с външна връзка, която вече е създадена в Hyper-V.

За да асоциирате частна мрежа или да изберете конкретен vSwitch, можете да използвате:

config.vm.network "private_network", bridge: "NombreDelvSwitch"

Имайте предвид това Hyper-V не ви позволява директно да конфигурирате статични IP адреси от Vagrant., така че те трябва да бъдат зададени с помощта на скриптове или чрез промяна на настройките на операционната система за гост.

 

хипер-v

Машинен достъп: SSH и други инструменти

Въпреки че може да изглежда, че SSH не може да се използва в Windows, Vagrant включва вграден SSH клиент, така че да имате достъп до него, без да се налага да инсталирате допълнителни програми.

Влезте с:

vagrant ssh

Можете също да използвате PuTTY, но в този случай ще ви трябва Конвертирайте частния ключ, генериран от Vagrant, във формат PPK (с PuTTYgen), тъй като не се поддържа директно. Ключът се намира на:

.vagrant/machines/default/hyperv/private_key

Това ще ви позволи да се свържете ръчно от всеки SSH клиент, който предпочитате.

Провизия със скриптове

Едно от най-големите предимства на Vagrant е неговата поддръжка за автоматично осигуряване, благодарение на скриптове. Можете да стартирате shell скриптове за повтарящи се инсталации:

config.vm.provision "shell", path: "bootstrap.sh"

Вътре във файла bootstrap.sh Можете да включите инструкции като:

apk update
apk add git

Това ще се изпълнява при първото създаване на VM. Ако искате да приложите отново скрипта по-късно, можете да направите:

vagrant reload --provision

Осигуряване на виртуални машини със скриптове

Работа с множество машини

Vagrant ви позволява да управлявате повече от една машина от един файл. Това е полезно за лаборатории или сървърни клъстери. Типичната настройка за лаборатория може да включва няколко дефиниции:

Vagrant.configure("2") do |config|
  config.vm.define "master" do |master|
    master.vm.box = "bento/ubuntu-20.04"
    master.vm.hostname = "master"
    master.vm.network :private_network, ip: "10.0.0.10"
  end

  (1..2).each do |i|
    config.vm.define "node#{i}" do |node|
      node.vm.box = "bento/ubuntu-20.04"
      node.vm.hostname = "node#{i}"
      node.vm.network :private_network, ip: "10.0.0.#{i + 10}"
    end
  end

  config.vm.provision "shell", inline: <<-SHELL
    apt-get update
    apt-get install -y avahi-daemon libnss-mdns
  SHELL
end

Това позволява на машините да се разпознават една друга по имена като node1.local o майстор.местен благодарение на използването на mDNS.

Изключително съдържание - Щракнете тук  Как се играе на Ruzzle на други езици

Съвети за производителност и съвместимост

Производителността на Vagrant на Hyper-V като цяло е добра, но зависи от:

  • Силата на вашия екип домакин (RAM, процесор, тип диск).
  • Използваното основно изображение (по-добре да използвате оптимизирани кутии).
  • Броят на машините, работещи едновременно.
  • Диференциално използване на диска и тънко осигуряване.

Обичайна практика за скриптиране на множество среди е да се създаде a персонализирана кутия който вече включва всички ваши категории: инструменти, услуги, маршрути и т.н. Това избягва необходимостта да инсталирате отново едно и също нещо във всеки екземпляр.

Използването на Vagrant на Hyper-V в Windows е напълно жизнеспособно, макар и с някои ограничения, които могат да бъдат решени с малки корекции. Hyper-V осигурява устойчивост и съвместимост със съвременните технологии на Microsoft, докато Vagrant улеснява автоматизацията и преносимостта на средата за разработка.