- Vagrant mendukung Hyper-V dari Windows 8.1 atau lebih tinggi dan memfasilitasi lingkungan yang dapat direproduksi
- Menginstal dan mengonfigurasi Vagrant di Hyper-V memerlukan pengaturan jaringan dan penyediaan khusus.
- Hyper-V tidak memungkinkan fitur tertentu seperti IP statis dengan mudah, tetapi ada solusi pelengkap
- Disarankan untuk menggunakan gambar 'kotak' yang kompatibel dengan Hyper-V untuk menghindari kesalahan boot.

Memasukkan, Siapkan lingkungan virtual dengan cepat dan teratur di Windows Tampaknya seperti misi yang rumit. Untungnya, kita punya alat seperti Vagrant di Hyper-V untuk mewujudkannya. Dan meskipun penggunaannya lebih terkait dengan VirtualBox, ia juga sepenuhnya kompatibel dengan teknologi virtualisasi ini yang sudah terintegrasi ke dalam banyak versi Windows.
Meskipun demikian, menginstal dan mengkonfigurasi Gelandangan di Hyper-V tidak semudah yang terlihat. Ada langkah kunci dan kekhasan penyedia virtualisasi Microsoft yang harus Anda ketahui. Dalam artikel ini, kami akan memberi Anda semua yang Anda butuhkan untuk meluncurkan lingkungan virtual mengikuti formula ini tanpa masalah.
Apa itu Vagrant dan mengapa menggunakan Hyper-V?
Gelandangan adalah alat sumber terbuka memungkinkan membangun lingkungan virtual yang dapat direproduksi dan portabel melalui file konfigurasi sederhana. Ini dirancang untuk pengembang, administrator sistem, atau siapa saja yang membutuhkan lingkungan yang konsisten di seluruh komputer, dengan dukungan untuk beberapa sistem operasi.
Untuk bagiannya, Hyper-V adalah hypervisor asli Microsoft, disertakan dalam versi Professional, Enterprise, dan Education Windows 8.1 dan yang lebih baru. Ia menawarkan kinerja dan stabilitas tinggi, terutama berguna saat hypervisor lain seperti VirtualBox mengalami konflik di lingkungan Windows modern.
Salah satu alasan paling umum untuk memilih Hyper-V alih-alih VirtualBox adalah beberapa produk, seperti Desktop Docker atau WSL2 (Subsistem Windows untuk Linux), mengharuskan Hyper-V diaktifkan. Hal ini menciptakan ketidakcocokan dengan VirtualBox, menjadikan Hyper-V satu-satunya solusi yang valid jika kita tidak ingin mengaktifkan dan menonaktifkan layanan.
Menginstal Vagrant dan Mengaktifkan Hyper-V
Sebelum Anda mulai menggunakan Vagrant di Hyper-V, Pastikan komputer Anda telah mengaktifkan Hyper-V. Hati-hati, karena biasanya tidak diaktifkan secara default. Anda dapat melakukannya secara manual dari bagian “Aktifkan fitur Windows” atau dengan perintah berikut di PowerShell (sebagai administrator):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Setelah menjalankan perintah ini, komputer perlu direstart agar perubahan berlaku.
Secara paralel, Anda harus Unduh dan instal Vagrant dari situs web resmi. Penginstal mencakup semua yang Anda butuhkan untuk dapat menggunakan perintah tersebut vagrant langsung dari terminal mana saja.
Setelah terinstal, Anda dapat memverifikasi bahwa semuanya benar dengan menjalankan perintah berikut di terminal:
vagrant --version
Perintah ini harus mengembalikan versi yang terinstal, misalnya Vagrant 2.4.0.
Langkah 1: Siapkan lingkungan dasar
Vagrant didasarkan pada “kotak”, yang merupakan gambar dasar dari sistem operasi yang sudah diinstal sebelumnya. Ini diunduh secara otomatis dari indeks publik yang dikenal sebagai Vagrant Cloud. Untuk memulai, Anda perlu membuat folder tempat Anda akan mengerjakan proyek Anda. Misalnya:
mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36
Perintah ini akan menghasilkan file bernama Vagrantfile yang merupakan tempat semua konfigurasi mesin virtual berada. Di dalamnya Anda perlu menyesuaikan beberapa parameter utama untuk menggunakan Hyper-V.
Konfigurasi Penyedia Hyper-V
Secara default, Vagrant akan mencoba menggunakan VirtualBox sebagai penyedia. Untuk menggunakan Hyper-V, Anda dapat menentukannya setiap kali dengan menjalankan:
vagrant up --provider=hyperv
Atau, tetapkan Hyper-V sebagai penyedia default dengan menetapkan variabel lingkungan:
$env:VAGRANT_DEFAULT_PROVIDER="hyperv"
Langkah ini dapat dilakukan dari PowerShell atau langsung di variabel lingkungan sistem Anda.
Di dalam Vagrantfile, Disarankan untuk menentukan penyedia dengan pengaturan khusus. Contoh dasar adalah:
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
Parameter ini memungkinkan Anda untuk menetapkan RAM, jumlah inti, dan nama mesin yang akan dimiliki di Hyper-V.
Jaringan dan konektivitas di Hyper-V
Salah satu kelemahan Hyper-V di Vagrant adalah tidak mengkonfigurasi jaringan secara otomatis. Karena alasan ini, Anda perlu memilih vSwitch secara manual dengan konektivitas eksternal yang sudah dibuat di Hyper-V.
Untuk mengaitkan jaringan pribadi atau memilih vSwitch tertentu, Anda dapat menggunakan:
config.vm.network "private_network", bridge: "NombreDelvSwitch"
Ingat itu Hyper-V tidak memperbolehkan Anda mengonfigurasi IP statis dari Vagrant secara langsung., jadi harus diatur menggunakan skrip atau dengan memodifikasi pengaturan sistem operasi tamu.
Akses mesin: SSH dan alat lainnya
Meskipun tampaknya SSH tidak dapat digunakan di Windows, Vagrant menyertakan klien SSH bawaan, sehingga Anda dapat mengaksesnya tanpa harus menginstal program tambahan.
Masuk dengan:
vagrant ssh
Anda juga dapat menggunakan PuTTY, tetapi dalam kasus tersebut Anda akan memerlukan Konversi kunci pribadi yang dihasilkan oleh Vagrant ke dalam format PPK (dengan PuTTYgen), karena tidak didukung secara langsung. Kuncinya terletak di:
.vagrant/machines/default/hyperv/private_key
Ini akan memungkinkan Anda untuk terhubung secara manual dari klien SSH mana pun yang Anda inginkan.
Penyediaan dengan skrip
Salah satu manfaat terbesar Vagrant adalah dukungannya untuk penyediaan otomatis, berkat skrip. Anda dapat meluncurkan skrip shell untuk instalasi berulang:
config.vm.provision "shell", path: "bootstrap.sh"
Di dalam file bootstrap.sh Anda dapat menyertakan instruksi seperti:
apk update
apk add git
Ini akan berjalan pertama kali VM dibuat. Jika Anda ingin menerapkan kembali skrip tersebut nanti, Anda dapat melakukan:
vagrant reload --provision
Bekerja dengan beberapa mesin
Vagrant memungkinkan Anda mengelola lebih dari satu mesin dari satu file. Ini berguna untuk lab atau kluster server. Pengaturan umum untuk sebuah laboratorium mungkin mencakup beberapa definisi:
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
Hal ini memungkinkan mesin untuk mengenali satu sama lain dengan nama seperti node1.lokal o master.lokal berkat penggunaan mDNS.
Tips Performa dan Kompatibilitas
Kinerja vagrant pada Hyper-V secara umum bagus, tetapi tergantung pada:
- Kekuatan tim tuan rumah Anda (RAM, CPU, jenis disk).
- Gambar dasar yang digunakan (lebih baik menggunakan kotak yang dioptimalkan).
- Jumlah mesin yang beroperasi pada waktu yang sama.
- Penggunaan disk diferensial dan penyediaan tipis.
Praktik umum untuk membuat skrip beberapa lingkungan adalah membuat kotak yang dipersonalisasi yang sudah menyertakan semua kategori Anda: alat, layanan, rute, dll. Ini menghindari keharusan menginstal ulang hal yang sama di setiap kejadian.
Menggunakan Vagrant pada Hyper-V di Windows sepenuhnya layak, meskipun dengan beberapa keterbatasan yang dapat diatasi dengan penyesuaian kecil. Hyper-V menyediakan ketahanan dan kompatibilitas dengan teknologi Microsoft modern, sementara Vagrant memfasilitasi otomatisasi dan portabilitas lingkungan pengembangan.
Editor yang berspesialisasi dalam isu-isu teknologi dan internet dengan pengalaman lebih dari sepuluh tahun di berbagai media digital. Saya telah bekerja sebagai editor dan pembuat konten untuk perusahaan e-commerce, komunikasi, pemasaran online, dan periklanan. Saya juga menulis di situs web ekonomi, keuangan dan sektor lainnya. Pekerjaanku juga merupakan passionku. Sekarang, melalui artikel saya di Tecnobits, Saya mencoba mengeksplorasi semua berita dan peluang baru yang ditawarkan dunia teknologi kepada kita setiap hari untuk meningkatkan kehidupan kita.



