Saya akui:Saya penggemar Linux. Meskipun saya telah menggunakan Slackware di workstation dan Red Hat Enterprise Linux (RHEL) di server selama bertahun-tahun, saya senang melihat bagaimana distribusi lain melakukan sesuatu. Terlebih lagi, saya sangat suka menguji aplikasi dan skrip yang saya tulis di distribusi lain untuk memastikan portabilitas. Sebenarnya, itulah salah satu keuntungan besar Linux, seperti yang saya lihat:Anda dapat mengunduh distro dan menguji perangkat lunak Anda secara gratis. Anda tidak dapat melakukannya dengan OS tertutup, setidaknya tanpa melanggar EULA atau membayar untuk bermain, dan bahkan kemudian, Anda sering mendaftar untuk mengunduh beberapa gigabyte hanya untuk menguji aplikasi yang tidak lebih dari beberapa ratus megabyte. Tetapi Linux adalah open source, jadi jarang ada alasan untuk mengabaikan setidaknya tiga atau empat distro utama, kecuali bahwa menyiapkan mesin virtual dapat membutuhkan banyak klik dan terkadang jaringan virtual yang rumit. Setidaknya, itu dulu alasan sampai Vagrant mengubah alur kerja mesin virtual untuk pengembang.
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Apa itu Gelandangan
Vagrant adalah manajer mesin virtual sederhana untuk terminal Anda. Ini memungkinkan Anda untuk dengan mudah menarik mesin virtual minimal dan pra-bangun dari Internet, menjalankannya secara lokal, dan SSH ke dalamnya hanya dalam beberapa langkah. Ini adalah yang tercepat yang pernah Anda siapkan untuk mesin virtual. Ini ideal untuk pengembang web yang membutuhkan server web pengujian, pemrogram yang perlu menguji aplikasi di seluruh distribusi, dan penggemar yang senang melihat cara kerja berbagai distribusi.
Vagrant sendiri juga relatif minim. Ini bukan kerangka kerja virtualisasi itu sendiri. Itu hanya mengelola mesin virtual Anda ("kotak" dalam terminologi Vagrant). Itu dapat menggunakan VirtualBox atau, melalui plug-in, proyek libvirt yang ringan sebagai backend.
Apa itu libvirt
Proyek libvirt adalah toolkit yang dirancang untuk mengelola virtualisasi, dengan dukungan untuk KVM, QEMU, LXC, dan banyak lagi. Anda mungkin menganggapnya sebagai semacam API mesin virtual, memungkinkan pengembang untuk menulis aplikasi ramah yang memudahkan pengguna untuk mengatur virtualisasi melalui libvirt. Saya menggunakan libvirt sebagai backend untuk Vagrant karena berguna di beberapa aplikasi, termasuk virt-manager dan Kotak GNOME.
Menginstal Vagrant
Anda dapat menginstal Vagrant dari vagrantup.com/downloads. Ada build yang tersedia untuk sistem berbasis Debian, sistem berbasis CentOS, macOS, Windows, dan lainnya.
Untuk CentOS, Fedora, atau sejenisnya, Anda mendapatkan paket RPM, yang dapat Anda instal dengan dnf
:
$ sudo dnf install ./vagrant_X.Y.ZZ_x86_64.rpm
Di Debian, Linux Mint, Elementary, dan sejenisnya, Anda mendapatkan paket DEB, yang dapat Anda instal dengan apt
:
$ sudo apt install ./vagrant_X.Y.ZZ_x86_64.deb
Menginstal libvirt dan paket dukungan
Di Linux, distribusi Anda mungkin sudah menginstal libvirt, tetapi untuk mengaktifkan integrasi dengan Vagrant, Anda juga memerlukan beberapa paket lain. Instal ini dengan manajer paket Anda.
Di Fedora, CentOS, dan sejenisnya:
$ sudo dnf install gcc libvirt \
libvirt-devel libxml2-devel \
make ruby-devel libguestfs-tools
Di Debian, Linux Mint, dan sejenisnya:
$ sudo apt install build-dep vagrant ruby-libvirt \
qemu libvirt-daemon-system libvirt-clients ebtables \
dnsmasq-base libxslt-dev libxml2-dev libvirt-dev \
zlib1g-dev ruby-dev libguestfs-tools
Tergantung pada distribusi Anda, Anda mungkin harus memulai libvirt
daemon:
$ sudo systemctl start libvirtd
Menginstal plugin Vagrant-libvirt
Di Vagrant, libvirt diaktifkan melalui plug-in. Vagrant memudahkan pemasangan plugin, jadi perintah Vagrant pertama Anda adalah perintah yang jarang Anda jalankan lagi:
$ vagrant plugin install vagrant-libvirt
Sekarang setelah plugin libvirt terinstal, Anda dapat mulai menggunakan mesin virtual.
Menyiapkan lingkungan Vagrant Anda
Untuk memulai dengan Vagrant, buat direktori bernama ~/Vagrant
. Di sinilah Vagrantfiles
Anda disimpan.
$ mkdir ~/Vagrant
Di direktori ini, buat subdirektori untuk mewakili distro yang ingin Anda unduh. Misalnya, anggap Anda memerlukan kotak uji CentOS.
Buat direktori CentOS, lalu ubah ke:
$ mkdir ~/Vagrant/centos
$ cd ~/Vagrant/centos
Sekarang Anda perlu menemukan mesin virtual sehingga Anda dapat mengonversi direktori yang baru saja Anda buat menjadi lingkungan Vagrant.
Menemukan mesin virtual Vagrant
Secara garis besar, kotak Vagrant berasal dari tiga tempat berbeda:Hashicorp (pengelola Vagrant), pengelola distribusi, dan orang-orang seperti Anda dan saya. Beberapa gambar minimal, dimaksudkan sebagai dasar untuk penyesuaian. Sebaliknya, yang lain mencoba menyelesaikan kebutuhan khusus (misalnya, Anda mungkin menemukan gambar tumpukan LAMP yang siap untuk pengembangan web). Anda dapat menemukan gambar dengan menelusuri atau mencari hub utama untuk kotak app.vagrantup.com/boxes/search.
Untuk contoh ini, cari "centos" dan temukan entri bernama generic/centos8
. Klik pada gambar untuk instruksi tentang cara menggunakan mesin virtual. Petunjuknya tersedia dalam dua jenis:
- Kode yang Anda butuhkan untuk Vagrantfile
- Perintah yang Anda perlukan untuk menggunakan kotak dari terminal
Yang terakhir adalah metode yang lebih mudah:
$ vagrant init generic/centos8
init
subcommand membuat file konfigurasi, yang disebut Vagrantfile, di direktori Anda saat ini, yang mengubah direktori itu menjadi lingkungan Vagrant. Kapan saja, Anda dapat melihat daftar lingkungan Vagrant yang diketahui menggunakan global-status
sub-perintah:
$ vagrant global-status
id name provider state directory
-------------------------------------------
49c797f default libvirt running /home/tux/Vagrant/centos8
Memulai mesin virtual dengan Vagrant
Setelah Anda menjalankan init
perintah, Anda dapat memulai mesin virtual Anda dengan vagrant up
:
$ vagrant up
Hal ini menyebabkan Vagrant mengunduh citra mesin virtual jika belum ada secara lokal, menyiapkan jaringan virtual, dan mengonfigurasi kotak Anda.
Memasuki mesin virtual Vagrant
Setelah mesin virtual Anda aktif dan berjalan, Anda dapat masuk ke dalamnya dengan vagrant ssh
:
$ vagrant ssh
box$
Anda terhubung ke kotak yang berjalan di lingkungan Vagrant Anda saat ini. Setelah masuk, Anda dapat menjalankan semua perintah asli dari host tersebut. Ini adalah mesin virtual yang menjalankan kernelnya sendiri, dengan perangkat keras yang ditiru dan perangkat lunak Linux yang umum.
Meninggalkan mesin virtual Vagrant
Untuk keluar dari mesin virtual Vagrant Anda, keluar dari host seperti biasanya Anda keluar dari komputer Linux:
box$ exit
Sebagai alternatif, Anda dapat mematikan mesin virtual:
box$ sudo poweroff
Anda juga dapat menghentikan mesin agar tidak berjalan menggunakan vagrant
perintah:
box$ vagrant halt
Menghancurkan mesin virtual Vagrant
Setelah selesai dengan mesin virtual Vagrant, Anda dapat menghancurkannya:
$ vagrant destroy
Sebagai alternatif, Anda dapat menghapus mesin virtual menggunakan box
global sub-perintah:
$ vagrant box remove generic/centos8
Vagrant itu mudah
Vagrant membuat mesin virtual menjadi sepele, sekali pakai, dan cepat. Saat Anda membutuhkan lingkungan pengujian atau server palsu untuk melakukan ping atau pengembangan, atau komputer lab yang bersih untuk eksperimen atau pemantauan, Anda bisa mendapatkannya dengan Vagrant. Beberapa orang berpikir mesin virtual tidak relevan sekarang karena kontainer telah mengambil alih server, tetapi mesin virtual memiliki sifat unik yang membuatnya berguna. Mereka menjalankan kernel mereka sendiri, memiliki tumpukan penuh dan unik yang terpisah dari mesin host, dan menggunakan perangkat keras yang ditiru. Saat Anda membutuhkan mesin virtual, Vagrant mungkin merupakan cara terbaik untuk mendapatkannya.