GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya menggunakan Vagrant dengan libvirt

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.


Linux
  1. Cara menggunakan BusyBox di Linux

  2. Bagaimana saya menggunakan cron di Linux

  3. Cara Menggunakan Perintah RMmod Di Linux Dengan Contoh

  1. Cara Menggunakan Perintah Hexdump Linux dengan Contoh Praktis

  2. Cara menggunakan Perintah Su di Linux

  3. Cara menghapus penggunaan non-root dengan UID 0 di Linux

  1. Perintah SCP di Linux:Cara Menggunakannya, dengan Contoh

  2. Cara Menginstal Vagrant Di Linux

  3. Cara menggunakan ekspor dengan Python di Linux