- Vagrant understøtter Hyper-V fra Windows 8.1 eller nyere og letter reproducerbare miljøer
- Installation og konfiguration af Vagrant på Hyper-V kræver specifikke netværks- og klargøringsindstillinger.
- Hyper-V tillader ikke let visse funktioner som statiske IP'er, men der er komplementære løsninger
- Det anbefales at bruge Hyper-V-kompatible 'boks'-billeder for at undgå opstartsfejl.

Input, Opsæt virtuelle miljøer hurtigt og overskueligt i Windows Det virker som en kompleks mission. Heldigvis har vi værktøjer som f.eks Vagrant på Hyper-V at gøre det muligt. Og selvom dens brug er mere forbundet med VirtualBox, er den også fuldt ud kompatibel med denne virtualiseringsteknologi, der allerede er integreret i mange versioner af Windows.
På trods af det, installation og konfiguration vagabond i Hyper-V er det ikke så let, som det ser ud til. Der er nøgletrin og særegenheder ved Microsoft virtualiseringsudbyderen, som du bør kende. I denne artikel giver vi dig alt, hvad du behøver for at starte virtuelle miljøer efter denne formel uden problemer.
Hvad er Vagrant og hvorfor bruge Hyper-V?
vagabond er en open source-værktøj tillader byg reproducerbare og bærbare virtuelle miljøer gennem simple konfigurationsfiler. Det er designet til udviklere, systemadministratorer eller enhver, der har brug for ensartede miljøer på tværs af computere, med understøttelse af flere operativsystemer.
For sin del, Hyper-V er Microsofts native hypervisor, inkluderet i Professional-, Enterprise- og Education-versionerne af Windows 8.1 og nyere. Det giver høj ydeevne og stabilitet, især nyttigt, når andre hypervisorer som VirtualBox konflikter i moderne Windows-miljøer.
En af de mest almindelige grunde til at vælge Hyper-V i stedet for VirtualBox er, at nogle produkter, som f.eks DockerDesktop eller WSL2 (Windows Subsystem til Linux), kræver, at Hyper-V er aktiveret. Dette skaber inkompatibilitet med VirtualBox, hvilket gør Hyper-V til den eneste gyldige løsning, hvis vi ikke ønsker at aktivere og deaktivere tjenester.
Installation af Vagrant og aktivering af Hyper-V
Før du begynder at bruge Vagrant på Hyper-V, Sørg for, at din computer har Hyper-V aktiveret. Vær forsigtig, for det er normalt ikke aktiveret som standard. Du kan gøre dette manuelt fra afsnittet "Slå Windows-funktioner til" eller med følgende kommando i PowerShell (som administrator):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Efter at have udført denne kommando, en genstart af computeren er påkrævet for ændringerne at træde i kraft.
Sideløbende skal du Download og installer Vagrant fra den officielle hjemmeside. Installationsprogrammet indeholder alt hvad du behøver for at kunne bruge kommandoen vagrant direkte fra enhver terminal.
Når det er installeret, kan du kontrollere, at alt er korrekt ved at køre følgende i terminalen:
vagrant --version
Denne kommando skal for eksempel returnere den installerede version Vagrant 2.4.0.
Trin 1: Forbered et basismiljø
Vagrant er baseret på "bokse", som er basisbilleder af forudinstallerede operativsystemer. Disse downloades automatisk fra det offentlige indeks kendt som Vagrant Cloud. For at komme i gang skal du oprette en mappe, hvor du skal arbejde på dit projekt. For eksempel:
mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36
Denne kommando vil generere en fil kaldet Vagrantfile det er der, hvor al den virtuelle maskine-konfiguration findes. Inden for det bliver du nødt til at justere nogle nøgleparametre for at bruge Hyper-V.
Hyper-V-udbyderkonfiguration
Som standard, Vagrant vil forsøge at bruge VirtualBox som udbyder. For at bruge Hyper-V kan du angive dette hver gang ved at køre:
vagrant up --provider=hyperv
Eller indstil Hyper-V som standardudbyder ved at indstille en miljøvariabel:
$env:VAGRANT_DEFAULT_PROVIDER="hyperv"
Dette trin kan udføres fra PowerShell eller direkte i dine systemmiljøvariabler.
Inde i Vagrantfilen, Det anbefales at angive udbyderen med specifikke indstillinger. Et grundlæggende eksempel ville være:
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
Disse parametre giver dig mulighed for at tildele RAM, antal kerner og navnet maskinen vil have i Hyper-V.
Netværk og tilslutning i Hyper-V
Et af de svage punkter ved Hyper-V i Vagrant er, at det ikke automatisk konfigurerer netværket. Af denne grund skal du manuelt vælge en vSwitch med ekstern tilslutning, der allerede er oprettet i Hyper-V.
For at tilknytte et privat netværk eller vælge en specifik vSwitch kan du bruge:
config.vm.network "private_network", bridge: "NombreDelvSwitch"
Bemærk venligst Hyper-V tillader dig ikke direkte at konfigurere statiske IP'er fra Vagrant., så de skal indstilles ved hjælp af scripts eller ved at ændre gæsteoperativsystemets indstillinger.
Maskinadgang: SSH og andre værktøjer
Selvom det kan se ud til, at SSH ikke kan bruges på Windows, Vagrant inkluderer en indbygget SSH-klient, så du kan få adgang til det uden at skulle installere yderligere programmer.
Log ind med:
vagrant ssh
Du kan også bruge PuTTY, men i så fald skal du bruge Konverter den private nøgle genereret af Vagrant til PPK-format (med PuTTYgen), da det ikke er direkte understøttet. Nøglen er placeret på:
.vagrant/machines/default/hyperv/private_key
Dette giver dig mulighed for at oprette forbindelse manuelt fra enhver SSH-klient, du foretrækker.
Forsyning med scripts
En af de største fordele ved Vagrant er dens støtte til automatisk klargøring, takket være scripts. Du kan starte shell-scripts til gentagelige installationer:
config.vm.provision "shell", path: "bootstrap.sh"
Inde i filen bootstrap.sh Du kan inkludere instruktioner som:
apk update
apk add git
Dette vil køre første gang VM'en oprettes. Hvis du vil genanvende scriptet senere, kan du gøre:
vagrant reload --provision
Arbejde med flere maskiner
Vagrant giver dig mulighed for at administrere mere end én maskine fra en enkelt fil. Dette er nyttigt til laboratorier eller serverklynger. En typisk opsætning for et laboratorium kan omfatte flere definitioner:
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
Dette gør det muligt for maskiner at genkende hinanden ved navne som f.eks node1.lokal o master.lokal takket være brugen af mDNS.
Tips til ydeevne og kompatibilitet
Vagrant-ydelse på Hyper-V er generelt god, men den afhænger af:
- Styrken i dit værtshold (RAM, CPU, disktype).
- Det anvendte basisbillede (bedre at bruge optimerede kasser).
- Antallet af maskiner, der kører på samme tid.
- Differentiel diskbrug og tynd klargøring.
En almindelig praksis for scripting af flere miljøer er at skabe en personlig kasse der allerede inkluderer alle dine kategorier: værktøjer, tjenester, ruter osv. Dette undgår at skulle geninstallere det samme i hvert tilfælde.
Brug af Vagrant på Hyper-V på Windows er fuldstændig levedygtigt, dog med nogle begrænsninger, der kan løses med små justeringer. Hyper-V giver robusthed og kompatibilitet med moderne Microsoft-teknologier, mens Vagrant letter automatiseringen og portabiliteten af udviklingsmiljøet.
Redaktør med speciale i teknologi og internetspørgsmål med mere end ti års erfaring i forskellige digitale medier. Jeg har arbejdet som redaktør og indholdsskaber for e-handel, kommunikation, online marketing og annoncevirksomheder. Jeg har også skrevet på økonomi, finans og andre sektorers hjemmesider. Mit arbejde er også min passion. Nu gennem mine artikler i Tecnobits, Jeg forsøger at udforske alle de nyheder og nye muligheder, som teknologiens verden tilbyder os hver dag for at forbedre vores liv.



