- Vagrant unterstützt Hyper-V ab Windows 8.1 und ermöglicht reproduzierbare Umgebungen
- Die Installation und Konfiguration von Vagrant auf Hyper-V erfordert bestimmte Netzwerk- und Bereitstellungseinstellungen.
- Hyper-V erlaubt bestimmte Funktionen wie statische IPs nicht ohne weiteres, aber es gibt ergänzende Lösungen
- Es wird empfohlen, Hyper-V-kompatible „Box“-Images zu verwenden, um Startfehler zu vermeiden.

Eingang, Virtuelle Umgebungen schnell und übersichtlich in Windows einrichten Es scheint eine komplexe Mission zu sein. Zum Glück haben wir Werkzeuge wie Vagrant auf Hyper-V um es möglich zu machen. Und obwohl seine Verwendung eher mit VirtualBox in Verbindung gebracht wird, ist es auch vollständig kompatibel mit dieser Virtualisierungstechnologie, die bereits in viele Windows-Versionen integriert ist.
Trotzdem ist die Installation und Konfiguration Landstreicher in Hyper-V ist es nicht so einfach, wie es scheint. Es gibt Schlüsselschritte und Besonderheiten des Microsoft-Virtualisierungsanbieters, die Sie kennen sollten. In diesem Artikel liefern wir Ihnen alles, was Sie brauchen, um virtuelle Umgebungen nach dieser Formel problemlos zu starten.
Was ist Vagrant und warum sollte man Hyper-V verwenden?
Landstreicher ein Open Source Tool so Erstellen Sie reproduzierbare und portable virtuelle Umgebungen mithilfe einfacher Konfigurationsdateien. Es ist für Entwickler, Systemadministratoren oder alle gedacht, die konsistente Umgebungen auf mehreren Computern mit Unterstützung für mehrere Betriebssysteme benötigen.
Für seinen Teil, Hyper-V ist der native Hypervisor von Microsoft, enthalten in den Professional-, Enterprise- und Education-Versionen von Windows 8.1 und höher. Es bietet hohe Leistung und Stabilität, was besonders nützlich ist, wenn andere Hypervisoren wie VirtualBox in modernen Windows-Umgebungen in Konflikt geraten.
Einer der häufigsten Gründe für die Entscheidung für Hyper-V anstelle von VirtualBox ist, dass einige Produkte, wie Docker-Desktop oder WSL2 (Windows Subsystem für Linux), erfordern die Aktivierung von Hyper-V. Dies führt zu Inkompatibilitäten mit VirtualBox und macht Hyper-V zur einzig gültigen Lösung, wenn wir Dienste nicht aktivieren und deaktivieren möchten.
Installieren von Vagrant und Aktivieren von Hyper-V
Bevor Sie Vagrant auf Hyper-V verwenden, Stellen Sie sicher, dass auf Ihrem Computer Hyper-V aktiviert ist. Seien Sie vorsichtig, da es normalerweise nicht standardmäßig aktiviert ist. Sie können dies manuell im Abschnitt „Windows-Funktionen aktivieren“ oder mit dem folgenden Befehl in PowerShell (als Administrator) tun:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Nach der Ausführung dieses Befehls ein Neustart des Computers ist erforderlich damit die Änderungen wirksam werden.
Parallel dazu müssen Sie Laden Sie Vagrant von der offiziellen Website herunter und installieren Sie es. Das Installationsprogramm enthält alles, was Sie brauchen, um den Befehl verwenden zu können vagrant direkt von jedem Terminal aus.
Nach der Installation können Sie überprüfen, ob alles korrekt ist, indem Sie Folgendes im Terminal ausführen:
vagrant --version
Dieser Befehl sollte die installierte Version zurückgeben, zum Beispiel: Landstreicher 2.4.0.
Schritt 1: Vorbereiten einer Basisumgebung
Vagrant basiert auf „Boxen“, die Basis-Images vorinstallierter Betriebssysteme sind. Diese werden automatisch aus dem öffentlichen Index namens Vagrant Cloud heruntergeladen. Um zu beginnen, müssen Sie einen Ordner erstellen, in dem Sie an Ihrem Projekt arbeiten. Zum Beispiel:
mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36
Dieser Befehl generiert eine Datei namens Vagrantfile Hier befindet sich die gesamte Konfiguration der virtuellen Maschine. Darin müssen Sie einige wichtige Parameter anpassen, um Hyper-V zu verwenden.
Hyper-V-Anbieterkonfiguration
Standardmäßig, Vagrant wird versuchen, VirtualBox als Anbieter zu verwenden. Um Hyper-V zu verwenden, können Sie dies jedes Mal angeben, indem Sie Folgendes ausführen:
vagrant up --provider=hyperv
Oder legen Sie Hyper-V als Standardanbieter fest, indem Sie eine Umgebungsvariable festlegen:
$env:VAGRANT_DEFAULT_PROVIDER="hyperv"
Dieser Schritt kann über PowerShell oder direkt in Ihren Systemumgebungsvariablen ausgeführt werden.
Innerhalb der Vagrantfile, Es wird empfohlen, den Anbieter mit bestimmten Einstellungen anzugeben. Ein einfaches Beispiel wä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
Mit diesen Parametern können Sie RAM, Anzahl der Kerne und der Name, den die Maschine in Hyper-V haben wird.
Netzwerk und Konnektivität in Hyper-V
Einer der Schwachpunkte von Hyper-V in Vagrant ist, dass es das Netzwerk nicht automatisch konfiguriert. Aus diesem Grund müssen Sie manuell einen vSwitch mit externer Konnektivität auswählen, der bereits in Hyper-V erstellt wurde.
Um ein privates Netzwerk zuzuordnen oder einen bestimmten vSwitch auszuwählen, können Sie Folgendes verwenden:
config.vm.network "private_network", bridge: "NombreDelvSwitch"
Denken Sie daran, dass Hyper-V erlaubt Ihnen nicht, statische IPs direkt von Vagrant aus zu konfigurieren., daher müssen sie mithilfe von Skripten oder durch Ändern der Einstellungen des Gastbetriebssystems festgelegt werden.
Maschinenzugriff: SSH und andere Tools
Obwohl es den Anschein hat, dass SSH unter Windows nicht verwendet werden kann, Vagrant enthält einen integrierten SSH-Client, sodass Sie darauf zugreifen können, ohne zusätzliche Programme installieren zu müssen.
Einloggen mit:
vagrant ssh
Sie können auch PuTTY verwenden, aber in diesem Fall benötigen Sie Konvertieren Sie den von Vagrant generierten privaten Schlüssel in das PPK-Format (mit PuTTYgen), da es nicht direkt unterstützt wird. Der Schlüssel befindet sich unter:
.vagrant/machines/default/hyperv/private_key
Dadurch können Sie von jedem beliebigen SSH-Client aus manuell eine Verbindung herstellen.
Bereitstellung mit Skripten
Einer der größten Vorteile von Vagrant ist die Unterstützung für automatische Bereitstellung dank Skripten. Sie können Shell-Skripte für wiederholbare Installationen starten:
config.vm.provision "shell", path: "bootstrap.sh"
In der Datei bootstrap.sh Sie können Anweisungen wie die folgenden hinzufügen:
apk update
apk add git
Dies wird ausgeführt beim ersten Erstellen der VM. Wenn Sie das Skript später erneut anwenden möchten, können Sie Folgendes tun:
vagrant reload --provision
Arbeiten mit mehreren Maschinen
Mit Vagrant können Sie mehr als eine Maschine über eine einzige Datei verwalten. Dies ist nützlich für Labore oder Servercluster. Ein typischer Aufbau eines Labors kann mehrere Definitionen umfassen:
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
Dadurch können sich Maschinen gegenseitig anhand von Namen erkennen, wie beispielsweise node1.local o master.local dank der Verwendung von mDNS.
Tipps zu Leistung und Kompatibilität
Die Vagrant-Leistung unter Hyper-V ist im Allgemeinen gut, hängt jedoch von folgenden Faktoren ab:
- Die Stärke Ihres Gastgeberteams (RAM, CPU, Festplattentyp).
- Das verwendete Basisbild (besser optimierte Boxen verwenden).
- Die Anzahl der gleichzeitig laufenden Maschinen.
- Differenzielle Festplattennutzung und Thin Provisioning.
Eine gängige Vorgehensweise beim Skripting mehrerer Umgebungen besteht darin, eine personalisierte Box das bereits alle Ihre Kategorien enthält: Tools, Dienste, Routen usw. Dadurch wird vermieden, dass Sie jedes Mal dasselbe neu installieren müssen.
Die Verwendung von Vagrant auf Hyper-V unter Windows ist absolut praktikabel, allerdings mit einigen Einschränkungen, die durch kleine Anpassungen behoben werden können. Hyper-V bietet Robustheit und Kompatibilität mit modernen Microsoft-Technologien, während Vagrant die Automatisierung und Portabilität der Entwicklungsumgebung erleichtert.
Auf Technologie- und Internetthemen spezialisierter Redakteur mit mehr als zehn Jahren Erfahrung in verschiedenen digitalen Medien. Ich habe als Redakteur und Content-Ersteller für E-Commerce-, Kommunikations-, Online-Marketing- und Werbeunternehmen gearbeitet. Ich habe auch auf Websites aus den Bereichen Wirtschaft, Finanzen und anderen Sektoren geschrieben. Meine Arbeit ist auch meine Leidenschaft. Nun, durch meine Artikel in TecnobitsIch versuche, alle Neuigkeiten und neuen Möglichkeiten zu erkunden, die uns die Welt der Technologie jeden Tag bietet, um unser Leben zu verbessern.



