GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Vagrant – Memulai Vagrant Di Linux

Dalam tutorial Vagrant ini, kita akan belajar tentang Vagrant, vagrant boxes, vagrantfile, provisioning tools, cara menginstal vagrant di sistem operasi Linux dan akhirnya mempelajari beberapa perintah dasar gelandangan untuk membuat dan mengelola mesin virtual dari baris perintah.

1. Pengantar Vagrant

Gelang adalah perangkat lunak sumber terbuka untuk membangun dan memelihara lingkungan pengembangan perangkat lunak virtual. Ini menyediakan lingkungan pengembangan yang bersih, mudah dikonfigurasi, dapat direproduksi, dan portabel. Dengan kata lain, Vagrant memungkinkan kita dengan mudah dan cepat menerapkan lingkungan pengembangan perangkat lunak universal yang dapat digunakan di mana saja. Vagrant hanya menghilangkan alasan "berfungsi di mesin saya". Karena, semua orang bekerja di lingkungan yang sama dengan set konfigurasi yang sama. Tidak peduli OS apa yang mereka gunakan.

Vagrant sering digunakan untuk menyiapkan lingkungan kerja yang identik dan kolaboratif bagi pengembang untuk mengerjakan proyek umum. Ini mengisolasi semua dependensi yang diperlukan dan pengaturan konfigurasinya dalam satu lingkungan sekali pakai. Ketika pengembang lain membuat lingkungan pengembangan dengan file konfigurasi yang sama, mereka akan mendapatkan lingkungan yang sama dengan pengaturan yang sama.

Vagrant adalah aplikasi lintas platform yang ditulis dalam Ruby bahasa. Mendukung GNU/Linux, Mac OS dan Microsoft Windows. Ini dikembangkan oleh Hashicorp dan dirilis di bawah MIT lisensi.

1.1. Kotak gelandangan

"Kotak" adalah format dan ekstensi untuk lingkungan Vagrant. Kotak gelandangan hanyalah gambar dasar. Mereka dapat berupa gambar Virtualbox atau gambar VMware atau gambar penyedia cloud seperti Amazon Machine Image (AMI). Kami dapat menyalin kotak gelandangan ke sistem lain dan menyiapkan replika yang tepat dari pengembangan saat ini.

Ada banyak kotak Vagrant pra-konfigurasi yang tersedia untuk diunduh di Vagrant Cloud penyimpanan publik. Jika Anda tidak ingin menggunakan kotak pra-konfigurasi, buat saja sesuai keinginan Anda dan distribusikan ke semua melalui repositori ini.

1.2. Vagrantfile

Persyaratan sistem operasi dan perangkat lunak didefinisikan dalam file konfigurasi bernama "vagrantfile". File ini didistribusikan bersama dengan kotak Vagrant. Saat Anda menginisialisasi VM dengan Vagrant, itu akan membaca file ini dan mengatur lingkungan pengembangan Anda sesuai dengan itu. Jadi, tujuan sebenarnya dari vagrantfile adalah untuk mendeskripsikan jenis mesin virtual dan cara mengonfigurasi dan menyediakan VM.

Detail berikut didefinisikan dalam file vagrant biasa:

  • Versi sistem operasi Mis. Bionik Ubuntu.
  • Aktifkan/nonaktifkan pemeriksaan pembaruan kotak otomatis.
  • Konfigurasi jaringan;
    • penerusan port,
    • mengonfigurasi jaringan pribadi (akses khusus host ke mesin),
    • mengonfigurasi jaringan publik (jaringan terjembatani).
  • Berbagi folder ke VM tamu.
  • Tetapkan penyedia pilihan Mis. kotak virtual, kvm.
  • Tentukan jumlah total memori untuk VM.
  • Aktifkan penyediaan dengan skrip shell atau alat manajemen konfigurasi seperti Ansible.

1.3. Alat penyediaan

Vagrant bukan platform virtualisasi mandiri seperti KVM atau Virtualbox. Itu hanya pembungkus dan ujung depan yang berada di antara perangkat lunak virtualisasi dan mesin virtual. Vagrant menggunakan berbagai penyedia layanan dan alat penyediaan untuk membuat dan mengelola lingkungan pengembangan.

Mesin virtual dibangun di atas aplikasi virtualisasi populer seperti VirtualBox, KVM, Docker, VMware dll., dan penyedia layanan cloud seperti AWS, Azure, GCE, dan banyak lagi. Anda dapat melihat daftar lengkap penyedia yang didukung di sini . Vagrant dikirimkan langsung dengan dukungan untuk VirtualBox, Hyper-V, dan Docker. VirtualBox adalah penyedia default untuk Vagrant.

Setelah mesin Virtual dibangun, kita dapat menginstal perangkat lunak di dalamnya menggunakan skrip shell sederhana dan alat manajemen konfigurasi standar industri seperti Ansible, CFEngine, Chef, Docker, Podman, Puppet and Salt dll. Pengguna juga dapat menyesuaikan konfigurasi lingkungan virtual sesuai kebutuhan mereka menggunakan alat penyediaan.

Singkatnya, penyedia (Misalnya VirtualBox, AWS) digunakan untuk membuat lingkungan virtual dan penyedia (Misalnya Ansible, Wayang) digunakan untuk menyesuaikan lingkungan virtual.

2. Instal Vagrant Di Linux

Instalasi Vagrant sangat mudah dan lurus ke depan. Cukup unduh versi terbaru dari halaman unduh Vagrant dan instal menggunakan prosedur standar untuk sistem operasi Anda. Untuk mengetahui cara menginstal Vagrant di berbagai platform Linux, lihat tautan berikut.

  • Cara Menginstal Vagrant Di Linux

3. Tutorial Vagrant - Perintah dasar Vagrant untuk membuat dan mengelola mesin virtual

Di sini, saya telah memberikan contoh hanya untuk perintah Vagrant dasar yang kita perlukan untuk menyiapkan dan mengelola pengembangan tervirtualisasi. Untuk mempelajari penggunaan Vagrant secara lengkap, lihat dokumentasi resmi yang diberikan di bagian akhir.

3.1. Buat direktori proyek Vagrant

Pertama, kita perlu membuat direktori proyek.

Saya akan membuat direktori bernama myvagrants untuk lingkungan virtual saya:

$ mkdir myvagrants

Cd ke direktori itu untuk membuat dan menyimpan mesin virtual:

$ cd myvagrants

3.2. Inisialisasi lingkungan Vagrant

Inisialisasi lingkungan Vagrant menggunakan perintah berikut:

$ gelandangan init hashicorp/bionic64

Contoh keluaran:

`Vagrantfile` telah ditempatkan di direktori ini. Anda sekarang siap untuk `gelandangan` lingkungan virtual pertama Anda! Harap baca komentar di file Vagrant serta dokumentasi di`vagrantup.com` untuk informasi lebih lanjut tentang penggunaan Vagrant.

Perintah di atas menginisialisasi direktori saat ini sebagai lingkungan Vagrant default dan membuat Vagrantfile dasar.

Anda dapat melihat konten dari file vagrant yang baru dibuat menggunakan cat perintah dan ketahui detail mesin virtual yang akan Anda buat:

$ cat Vagrantfile | kurang

Saat Anda memulai VM di langkah selanjutnya, VM akan mengunduh kotak bionik Ubuntu yang diterbitkan oleh HashiCorp. Tim Vagrant juga merekomendasikan untuk menggunakan kotak Bento . Mereka adalah open source dan dibangun untuk penyedia populer seperti Virtualbox, VMWare, dan Parallels. HashiCorp dan Bento adalah dua set kotak yang direkomendasikan secara resmi.

3.3. Mulai mesin Virtual

Sekarang, buat dan mulai mesin virtual sesuai dengan vagrantfile (yang kita buat pada langkah sebelumnya) menggunakan perintah:

$ gelandangan naik

Contoh keluaran:

Membawa 'default' mesin dengan penyedia 'virtualbox'...==> default:Kotak 'hashicorp/bionic64' tidak dapat ditemukan. Mencoba menemukan dan menginstal... default:Penyedia Kotak:default kotak virtual:Versi Kotak:>=0==> default:Memuat metadata untuk kotak 'hashicorp/bionic64' default:URL:https://vagrantcloud.com/hashicorp/ bionic64==> default:Menambahkan kotak 'hashicorp/bionic64' (v1.0.282) untuk penyedia:virtualbox default:Mengunduh:https://vagrantcloud.com/hashicorp/boxes/bionic64/versions/1.0.282/providers/virtualbox. boxDownload dialihkan ke Host:vagrantcloud-files-production.s3.amazonaws.com==> default:Berhasil menambahkan kotak 'hashicorp/bionic64' (v1.0.282) untuk 'virtualbox'!==> default:Mengimpor kotak dasar 'hashicorp/ bionic64'...==> default:Mencocokkan alamat MAC untuk jaringan NAT...==> default:Memeriksa apakah kotak 'hashicorp/bionic64' versi '1.0.282' adalah yang terbaru...==> default:Menyetel nama VM:myvagrants_default_1597837509450_67666Vagrant saat ini dikonfigurasi untuk membuat folder yang disinkronkan VirtualBox dengan opsi `SharedFoldersEnableSymlinksCreate` diaktifkan. Jika Vagrantguest tidak dipercaya, Anda mungkin ingin menonaktifkan opsi ini. Untuk informasi lebih lanjut tentang opsi ini, silakan merujuk ke manual VirtualBox:https://www.virtualbox.org/manual/ch04.html#sharedfoldersOpsi ini dapat dinonaktifkan secara global dengan variabel lingkungan:VAGRANT_DISABLE_VBOXSYMLINKCREATE=1atau per folder dalam Vagrantfile:config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate:false==> default:Menghapus antarmuka jaringan yang ditetapkan sebelumnya...==> default:Mempersiapkan antarmuka jaringan berdasarkan konfigurasi. .. default:Adaptor 1:nat==> default:Forwarding ports... default:22 (guest) => 2222 (host) (adapter 1)==> default:Booting VM...==> default:Waiting untuk mesin untuk boot. Ini mungkin memakan waktu beberapa menit... default:Alamat SSH:127.0.0.1:2222 default:Nama pengguna SSH:gelandangan default:Metode auth SSH:kunci pribadi default:Peringatan:Reset koneksi. Mencoba lagi... default:Peringatan:Sambungan jarak jauh terputus. Mencoba lagi... default:Peringatan:Sambungan jarak jauh terputus. Mencoba lagi... default:default:Kunci tidak aman gelandangan terdeteksi. Vagrant akan secara otomatis mengganti default:ini dengan keypair yang baru dibuat untuk keamanan yang lebih baik. default:default:Memasukkan kunci publik yang dihasilkan dalam tamu... default:Menghapus kunci tidak aman dari tamu jika ada... default:Kunci dimasukkan! Memutuskan dan menyambung kembali menggunakan kunci SSH baru...==> default:Mesin di-boot dan siap!==> default:Memeriksa penambahan tamu di VM... default:Penambahan tamu pada VM ini tidak cocok dengan versi default yang diinstal :Kotak Virtual! Dalam kebanyakan kasus, ini baik-baik saja, tetapi dalam kasus yang jarang terjadi, ini dapat menjadi default:mencegah hal-hal seperti folder bersama agar tidak berfungsi dengan benar. Jika Anda melihat kesalahan default:folder bersama, pastikan penambahan tamu dalam default:mesin virtual cocok dengan versi VirtualBox yang telah Anda instal di default:host Anda dan muat ulang VM Anda. default:default:Penambahan Tamu Versi:6.0.10 default:VirtualBox Versi:6.1==> default:Memasang folder bersama... default:/vagrant => /home/sk/myvagrants

Perintah di atas akan mengunduh kotak bionik Ubuntu dari Vagrant cloud, membuat mesin virtual baru bernama "myvagrants_default_1597837509450_67666" , tambahkan ke Virtualbox dan mulai VM secara otomatis.

Anda tidak akan melihat notifikasi apa pun meskipun VM sedang berjalan. Untuk memverifikasi apakah VM berjalan, buka aplikasi virtualisasi (Misalnya VirtualBox atau Virt-manager) dan periksa apakah VM berjalan atau tidak.

Karena Vagrant menggunakan Virtualbox sebagai penyedia default, saya dapat melihat VM yang berjalan dari manajer virtualbox.

Seperti yang Anda lihat, VM bionik Ubuntu berjalan di Virtualbox.

Jika Anda menggunakan penyedia lain, misalnya Virt-manager, buka dan periksa apakah mesin Vagrant berjalan.

3.4. Akses mesin virtual

Anda dapat menghubungkan dan mengakses VM yang sedang berjalan menggunakan SSH.

Untuk SSH ke dalam kotak Vagrant yang sedang berjalan menggunakan perintah, jalankan:

$ gelandangan ssh

Contoh keluaran:

Selamat datang di Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-58-generic x86_64) * Dokumentasi:https://help.ubuntu.com * Manajemen:https://landscape.canonical.com * Dukungan:https://ubuntu.com/advantage Informasi sistem per Rabu 24 Agustus 11:56:42 UTC 2020 Beban sistem:0,08 Proses:88 Penggunaan /:2,5% dari 61,80GB Pengguna yang masuk:0 Penggunaan memori:11% IP alamat untuk eth0:10.0.2.15 Penggunaan swap:0% * Apakah Anda siap untuk Kubernetes 1.19? Ini hampir di sini! Coba RC3 dengan Sudo snap install microk8s --channel=1.19/candidate --classic https://microk8s.io/ memiliki dokumen dan detail.0 paket dapat diperbarui.0 pembaruan adalah pembaruan keamanan.[email dilindungi]:~$  

3.5. Sinkronkan File lokal dan tamu

Sinkronisasi file dukungan gelandangan di luar kotak. Secara default, Vagrant membagikan direktori proyek Anda (yang berisi Vagrantfile. Dalam kasus saya, ini adalah ~/myvagrants .) ke /vagrant direktori di mesin virtual tamu Anda.

Anda dapat memverifikasinya dengan mencantumkan isi /vagrant direktori di mesin virtual Anda:

[dilindungi email]:~$ ls /vagrant/Vagrantfile

Harap perhatikan bahwa Vagrantfile yang Anda lihat di dalam mesin virtual sebenarnya adalah Vagrantfile yang sama dengan yang ada di mesin host Anda yang sebenarnya.

Untuk menguji apakah sinkronisasi benar-benar berfungsi, buat file contoh di /vagrant direktori di mesin tamu Anda:

[email protected]:~$ touch /vagrant/test.txt

Keluar dari sesi SSH VM Anda:

[dilindungi email]:~$ logout

Sekarang, periksa direktori proyek lokal Anda di sistem host Anda. Anda juga akan melihat file yang sama dibuat di mesin host.

[email protected]:~/myvagrants$ lstest.txt Vagrantfile

3.6. Menampilkan status mesin Virtual

Untuk menampilkan status mesin virtual di lingkungan virtual, jalankan:

$ status gelandangan

Contoh keluaran:

Mesin saat ini menyatakan:default berjalan (virtualbox)VM sedang berjalan. Untuk menghentikan VM ini, Anda dapat menjalankan `vagrant halt` untuk mematikannya secara paksa, atau Anda dapat menjalankan `vagrant suspend` untuk hanya menangguhkan mesin virtual. Dalam kedua kasus tersebut, untuk memulai kembali, jalankan `vagrant up`.

Seperti yang Anda lihat di atas, saya hanya memiliki satu VM dan sekarang sedang berjalan.

Jika VM dimatikan, Anda akan mendapatkan output berikut:

Mesin saat ini menyatakan:poweroff default (virtualbox)VM dimatikan. Untuk memulai ulang VM, cukup jalankan `vagrant up`

3.7. Tampilkan status semua lingkungan Virtual

Kami dapat menampilkan informasi tentang semua lingkungan virtual yang dikenal di sistem kami menggunakan perintah berikut:

$ status global gelandangan

Contoh keluaran:

direktori negara penyedia nama id ------------------------------------------ ------------------------------- 2086482 default virtualbox poweroff /home/sk/myvagrants Di atas menunjukkan informasi tentang semua lingkungan Vagrant yang diketahui mesin ini. Data ini di-cache dan mungkin tidak sepenuhnya mutakhir (gunakan "vagrant global-status --prune" untuk memangkas entri yang tidak valid). Untuk berinteraksi dengan mesin mana pun, Anda dapat membuka direktori itu dan menjalankan Vagrant, atau Anda dapat menggunakan ID secara langsung dengan perintah Vagrant dari direktori mana pun. Misalnya:"gelandangan menghancurkan 1a2b3c4d"

Perintah di atas akan mencantumkan id VM, nama, penyedia, status VM, dan direktori lingkungan virtual.

Terkadang output mungkin di-cache dan mungkin tidak benar. Jadi, jalankan perintah berikut untuk menghapus entri yang tidak valid dan mendapatkan status terbaru dari lingkungan virtual:

$ status global gelandangan --prune

3.8. Tangguhkan Mesin virtual

Untuk menangguhkan VM yang sedang berjalan, jalankan:

$ penangguhan gelandangan

Contoh keluaran:

==> default:Menyimpan status VM dan menangguhkan eksekusi…

3.9. Lanjutkan Mesin virtual

Untuk melanjutkan VM yang ditangguhkan di lingkungan virtual saat ini, jalankan:

$ resume gelandangan

Contoh keluaran:

==> default:Melanjutkan VM yang ditangguhkan...==> default:Booting VM...==> default:Menunggu mesin untuk boot. Ini mungkin memakan waktu beberapa menit... default:Alamat SSH:127.0.0.1:2222 default:Nama pengguna SSH:gelandangan default:Metode auth SSH:kunci pribadi==> default:Mesin boot dan siap!==> default:Mesin sudah disediakan. Jalankan `vagrant provision` atau gunakan flag `--provision`==> default:untuk memaksa provisioning. Penyedia yang ditandai untuk selalu berjalan akan tetap berjalan.

3.10. Mulai ulang mesin Virtual

Untuk memulai ulang VM yang sedang berjalan, lakukan:

$ isi ulang gelandangan

Perintah ini akan dengan anggun mematikan VM dan memulainya kembali.

3.11. Hentikan/Matikan Mesin virtual

Untuk menghentikan atau mematikan VM yang sedang berjalan, lakukan:

$ perhentian gelandangan

3.12. Hapus mesin Virtual

Untuk menghentikan dan menghapus semua jejak VM, jalankan:

$ gelandangan menghancurkan

Ketik y dan tekan ENTER untuk menghapus mesin virtual.

Jika Anda ingin menghapus VM tanpa konfirmasi apa pun, jalankan:

$ gelandangan menghancurkan -f

3.13. Setel ulang mesin Virtual

Terkadang, Anda mungkin ingin mengatur ulang mesin virtual Anda ke keadaan semula, tanpa benar-benar menghapus kotaknya. Ini dapat membantu untuk menerapkan lingkungan virtual yang bersih tanpa harus mengunduh kotak gelandangan berulang kali.

Untuk mengatur ulang mesin virtual ke keadaan semula, cukup lakukan:

$ gelandangan menghancurkan
$ gelandangan naik

Perintah pertama akan mematikan mesin virtual yang sedang berjalan dan menghapus semua sumber daya yang terkait dengannya. Dan perintah kedua akan membuat ulang mesin Virtual baru menggunakan kotak gelandangan yang ada.

Untuk lebih jelasnya, lihat tautan berikut:

  • Cara Menyetel Ulang Mesin Virtual Vagrant ke Keadaan Asli

3.14. Jalankan perintah Vagrant dari direktori mana saja

Biasanya, kita memulai, menghentikan, memuat ulang, dan menghapus mesin Vagrant dari direktori proyeknya, bukan? Ya! Namun, kita dapat menjalankan perintah Vagrant dari direktori mana pun menggunakan ID mesin Vagrant.

Untuk menemukan ID mesin Vagrant, jalankan perintah berikut:

$ status global gelandangan

Contoh keluaran:

direktori negara penyedia nama id ------------------------------------------ ----------------------------ddc1a10 libvirt mematikan default /home/sk/Vagrant/Ubuntu2004 f4904ad libvirt mematikan default /home/sk/Vagrant/Archlinux 831f9c0 libvirt mematikan default /home/sk/Vagrant/Gentoo 3587422 libvirt mematikan default /home/sk/Vagrant/Rhel8 b2279ad default libvirt shutoff /home/sk/Vagrant/Almalinux8 Di atas menunjukkan informasi tentang semua lingkungan Vagrant yang diketahui pada mesin ini. Data ini di-cache dan mungkin tidak sepenuhnya mutakhir (gunakan "vagrant global-status --prune" untuk memangkas entri yang tidak valid). Untuk berinteraksi dengan mesin mana pun, Anda dapat membuka direktori itu dan menjalankan Vagrant, atau Anda dapat menggunakan ID secara langsung dengan perintah Vagrant dari direktori mana pun. Misalnya:"gelandangan menghancurkan 1a2b3c4d"

Seperti yang Anda lihat pada output di atas, vagrant global-status perintah menunjukkan detail semua lingkungan virtual yang dikenal di sistem saya. Kolom pertama pada output di atas menunjukkan ID dari setiap mesin Vagrant.

Anda dapat menggunakan ID secara langsung dengan perintah Vagrant dari direktori mana pun. Misalnya, untuk memulai mesin Vagrant dari direktori mana pun, kita cukup menggunakan:

$ gelandangan naik b2279ad

Ini akan memulai mesin gelandangan yang ID b2279ad .

Demikian pula, kita juga dapat menggunakan perintah Vagrant lainnya.

$ status gelandangan b2279ad
$ gelandangan ssh b2279ad
$ gelandangan halt b2279ad
$ gelandangan menghancurkan b2279ad

3.15. Daftar kotak Vagrant

Untuk membuat daftar semua kotak yang tersedia yang diinstal dengan Vagrant, jalankan:

$ daftar kotak gelandangan

Contoh keluaran:

hashicorp/bionic64 (virtualbox, 1.0.282)

Jika Anda ingin menampilkan beberapa detail kotak tambahan seperti nama penulis, situs web, repositori, deskripsi, dll., gunakan -i bendera:

$ daftar kotak gelandangan -i

Contoh keluaran:

generic/alpine38 (virtualbox, 3.1.16) - Penulis:Ladar Levison - Situs web:https://roboxes.org/ - Artefak:https://vagrantcloud.com/generic/ - Repositori:https://github .com/lavabit/robox/ - Deskripsi:Gambar mesin virtual dasar, untuk berbagai sistem operasi/hypervisor, dan siap berfungsi sebagai bxo dasar.

3.16. Periksa apakah kotak Vagrant sudah usang

Untuk memeriksa apakah kotak yang Anda gunakan di lingkungan gelandangan Anda sudah usang, buka lingkungan Gelandangan yaitu direktori proyek,

$ cd myvagrants/

dan jalankan:

$ kotak gelandangan usang Memeriksa apakah kotak 'hashicorp/bionic64' versi '1.0.282' sudah diperbarui…

3.17. Perbarui kotak Vagrant

Jika ada kotak yang ketinggalan zaman, Anda dapat memperbaruinya seperti di bawah ini:

$ pembaruan kotak gelandangan

Contoh keluaran:

==> default:Memeriksa pembaruan untuk 'hashicorp/bionic64'default:Versi terbaru yang diinstal:1.0.282default:Batasan versi:default:Penyedia:virtualbox==> default:Kotak 'hashicorp/bionic64' (v1.0.282 ) menjalankan versi terbaru.

3.18. Unduh kotak Vagrant

vagrant init perintah menginisialisasi dan memulai lingkungan Vagrant dengan mengunduh masing-masing kotak Vagrant yang ditentukan dalam Vagrantfile.

Anda juga dapat mengunduh kotak Vagrant secara manual dan mengedit file vagrant-nya, lalu memulainya.

Untuk mengunduh kotak Vagrant, jalankan:

$ kotak gelandangan tambahkan bento/debian-10.5

Perintah di atas akan mengunduh kotak versi Debian 10.5 yang diterbitkan oleh Bento. Anda akan diminta untuk memilih penyedia (misalnya virtualbox atau vmware) yang sedang Anda gunakan sekarang. Cukup pilih satu dan tekan ENTER untuk mengunduh kotak.

Contoh keluaran:

Kotak
==>:Memuat metadata untuk kotak 'bento/debian-10.5' kotak:URL:https://vagrantcloud.com/bento/debian-10.5Kotak ini dapat bekerja dengan banyak penyedia! Penyedia yang dapat bekerja dengannya tercantum di bawah ini. Harap tinjau daftar dan pilih penyedia yang akan Anda gunakan.1) parallels2) virtualbox3) vmware_desktopMasukkan pilihan Anda:2 ==> kotak:Menambahkan kotak 'bento/debian-10.5' (v202008.16.0) untuk penyedia:kotak virtualbox:Mengunduh:https://vagrantcloud.com/bento/boxes/debian-10.5/versions/202008.16.0/providers /virtualbox.boxDownload dialihkan ke host:vagrantcloud-files-production.s3.amazonaws.com==> box:Berhasil menambahkan kotak 'bento/debian-10.5' (v202008.16.0) untuk 'virtualbox'

Anda dapat memverifikasinya dengan mencantumkan kotak yang tersedia:

$ daftar kotak gelandangan

Contoh keluaran:

bento/debian-10.5 (virtualbox, 202008.16.0) hashicorp/bionic64 (virtualbox, 1.0.282)

Semua kotak Vagrant yang diunduh akan tersedia di ~/.vagrant.d/boxes direktori di sistem host Anda.

3.19. Lihat ukuran kotak Vagrant

Seperti yang dinyatakan di bagian sebelumnya, kotak Vagrant yang diunduh disimpan di ~/.vagrant.d/boxes direktori.

Anda dapat melihat daftar semua kotak yang diunduh di direktori ini menggunakan perintah:

$ ls ~/.vagrant.d/boxes almalinux-VAGRANTSLASH-8 generik-VAGRANTSLASH-debian10archlinux-VAGRANTSLASH-archlinux generik-VAGRANTSLASH-gentoocentos-VAGRANTSLASH-8 generik-VAGRANTSLASH-rhel8

Untuk menemukan ukuran masing-masing kotak Vagrant, gunakan du perintah dengan -h tandai seperti di bawah ini:

589M /home/sk/.vagrant.d/boxes/archlinux-VAGRANTSLASH-archlinux/20210601.24453/libvirt589M /home/sk/.vagrant.d/boxes/archlinux-VAGRANTSLASH-archlinux/20210601.24453589M /home/sk/ .vagrant.d/boxes/archlinux-VAGRANTSLASH-archlinux1.1G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-rhel8/3.3.2/libvirt1.1G /home/sk/.vagrant.d/boxes /generic-VAGRANTSLASH-rhel8/3.3.21.1G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-rhel81.6G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-gentoo/3.2. 24/libvirt1.6G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-gentoo/3.2.241.6G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-gentoo1.6G /home/sk /.vagrant.d/boxes/centos-VAGRANTSLASH-8/2011.0/libvirt1.6G /home/sk/.vagrant.d/boxes/centos-VAGRANTSLASH-8/2011.01.6G /home/sk/.vagrant.d/ box/centos-VAGRANTSLASH-8998M /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-debian10/3.3.4/libvirt998M /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-debian10/3.3. 4998M /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-debian10628 M /home/sk/.vagrant.d/boxes/almalinux-VAGRANTSLASH-8/8.4.20210724/libvirt628M /home/sk/.vagrant.d/boxes/almalinux-VAGRANTSLASH-8/8.4.20210724629M /home/sk/ .vagrant.d/boxes/almalinux-VAGRANTSLASH-86.4G /home/sk/.vagrant.d/boxes

Untuk melihat penggunaan ringkasan total, jalankan:

$ du -sh ~/.vagrant.d/boxes 6.4G /home/sk/.vagrant.d/boxes

3.20. Tambahkan file .box yang diunduh ke gelandangan

Banyak distribusi Linux didistribusikan melalui kotak Vagrant yang telah dikonfigurasi sebelumnya. Jadi Anda dapat dengan cepat mengambil kotak gelandangan dan menjalankannya menggunakan aplikasi virtualisasi masing-masing. Untuk lebih jelasnya, lihat panduan berikut:

  • Cara Menambahkan File .box yang Diunduh ke Vagrant Di Linux

3.21. Buat mesin Virtual menggunakan kotak Vagrant

Untuk membuat VM baru dengan kotak yang baru diunduh, buka direktori proyek Anda dan inisialisasi lingkungan gelandangan dengan perintah:

$ init gelandangan

Perhatian :Hapus Vagrantfile yang ada sebelum menginisialisasi lingkungan gelandangan baru.

Ini akan membuat Vagrantfile baru di direktori saat ini.

Edit file Vagrant dan perbarui detail VM dan ganti baris berikut:

Vagrant.configure("2") lakukan |config|[...]config.vm.box ="base" [...]

dengan sebagai berikut:

config.vm.box ="bento/debian-10.5"

Anda dapat secara eksplisit menentukan versi untuk VM baru dengan menambahkan baris berikut:

config.vm.box ="bento/debian-10.5"config.vm.box_version ="1.0"

Anda bahkan dapat menentukan URL unduhan juga:

config.vm.box ="bento/debian-10.5"config.vm.box_version ="1.0"config.vm.box_url ="https://app.vagrantup.com/bento/boxes/debian-10.5/ "

Sekarang, buat dan mulai VM berdasarkan Vagrantfile ini dengan perintah:

$ gelandangan naik

Atau, Anda dapat langsung menyebutkan nama kotak saat menginisialisasi lingkungan Vagrant. Ini berguna jika Anda memiliki lebih dari satu kotak gelandangan.

Pertama, buat daftar kotak gelandangan yang tersedia menggunakan perintah:

$ daftar kotak gelandangan 

Contoh keluaran:

Fedora33 (libvirt, 0)archlinux/archlinux (virtualbox, 20201201.10292)fedora33 (virtualbox, 0)generic/alpine38 (virtualbox, 3.1.16)oraclelinux/7 (virtualbox, 7.9.184)oraclelinux/8 (libvirt, 8.3 .183)

Biarkan kami Anda ingin membuat mesin virtual dari kotak bernama "generic/alpine38". Untuk melakukannya, cukup jalankan:

$ gelandangan init generik/alpine38

Perintah ini akan membuat Vagrantfile baru dan menginisialisasi lingkungan gelandangan dengan konfigurasi kotak yang diberikan. Tidak perlu mengedit Vagrantfile secara manual dan memperbarui detail kotak.

Selanjutnya, mulai mesin virtual menggunakan perintah:

$ gelandangan naik

3.22. Gunakan Vagrant dengan penyedia Libvirt KVM

Seperti yang sudah saya nyatakan, Vagrant menggunakan Virtualbox untuk menjalankan mesin Virtual secara default. Anda juga dapat memberi tahu Vagrant untuk menggunakan penyedia lain, misalnya, Libvirt KVM , untuk menjalankan VM menggunakan vagrant-libvirt pengaya. Plugin ini menambahkan penyedia Libvirt ke Vagrant dan memungkinkan Vagrant untuk mengontrol dan menyediakan mesin melalui Libvirt. Untuk mempelajari cara menggunakan libvirt sebagai penyedia Vagrant, lihat panduan berikut:

  • Cara Menggunakan Vagrant Dengan Penyedia KVM Libvirt

3.23. Konfigurasi Jaringan di Vagrant

Untuk menyediakan akses jaringan antara mesin tamu dan sistem host, Vagrant menawarkan tiga opsi berikut:

  1. Penerusan port
  2. Jaringan pribadi (jaringan khusus host)
  3. Jaringan publik (jaringan yang dijembatani)

Setiap opsi memiliki pasang surutnya sendiri. Anda dapat mengonfigurasi salah satu atau semua opsi jaringan Vagrant seperti yang dijelaskan dalam panduan berikut:

  • Cara Mengonfigurasi Jaringan di Vagrant

3.24. Temukan alamat IP mesin Vagrant dari sistem host

Untuk menemukan alamat IP mesin Vagrant, kami biasanya ssh ke dalamnya dan menemukan alamat IP-nya menggunakan ip atau ifconfig perintah. Kami juga bisa langsung mendapatkan alamat IP mesin Vagrant yang sedang berjalan dari host seperti yang dijelaskan di tautan berikut:

  • Cara Menemukan Alamat IP Mesin Gelandangan Dari Host

3.25. Tingkatkan Memori dan CPU pada mesin Vagrant

Memiliki masalah kinerja dengan mesin Vagrant Anda? Mungkin karena Memori atau CPU yang tidak mencukupi. Cukup tambahkan lebih banyak RAM dan inti CPU ke mesin Vagrant untuk meningkatkan kinerjanya seperti yang ditunjukkan pada tautan berikut.

  • Cara Meningkatkan Memori Dan CPU Pada Mesin Gelandangan

3.26. Hapus kotak Vagrant yang sudah usang

Anda mungkin telah mengunduh beberapa versi kotak Vagrant dan beberapa di antaranya mungkin sudah ketinggalan zaman! Jika tidak lagi diperlukan, Anda dapat menghapus versi lama kotak Vagrant yang diinstal dengan aman seperti yang dijelaskan dalam tautan berikut.

  • Cara Menghapus Kotak Gelandangan Kedaluwarsa Di Linux

3.27. Hapus kotak Vagrant secara permanen

Untuk menghapus kotak gelandangan, misalnya hashicorp/bionic64, jalankan:

$ kotak gelandangan hapus hashicorp/bionic64

Ketik y dan tekan ENTER untuk mengonfirmasi penghapusan:

Box 'hashicorp/bionic64' (v1.0.282) dengan 'virtualbox' penyedia tampaknya masih digunakan oleh setidaknya satu lingkungan Vagrant. Menghapus kotak dapat merusak lingkungan. Sebaiknya hancurkan lingkungan ini terlebih dahulu:default (ID:20864823c72f45568d251070b5ce2661)Yakin ingin menghapus kotak ini? [y/T] y Menghapus kotak 'hashicorp/bionic64' (v1.0.282) dengan penyedia 'virtualbox'…

Jika Anda tidak tahu nama kotaknya, jalankan saja perintah berikut untuk membuat daftar semua kotak yang terpasang:

$ daftar kotak gelandangan

Pada tahap ini, Anda seharusnya sudah mempelajari dasar-dasar penggunaan Vagrant. Vagrant adalah topik yang luas dan saya akan mencoba membahas sebanyak mungkin di artikel kami yang akan datang. Tetap disini!

4. Pemecahan masalah gelandangan

Bagian ini membahas beberapa masalah Vagrant yang umum.

4.1. Vagrant gagal melakukan inisialisasi pada tahap yang sangat awal

Apakah mesin Vagrant Anda gagal untuk memulai? Jangan khawatir! Ini adalah salah satu masalah gelandangan yang umum. Ini mungkin karena plugin yang kedaluwarsa atau direktori Vagrant HOME mungkin telah pindah ke lokasi yang berbeda. Untuk memperbaiki masalah ini, lihat panduan berikut:

  • Cara Memperbaiki Kesalahan “Vagrant failed to initialize at a very early stage” Error Di Linux

4.2. Tidak dapat mengakses file penyimpanan, Izin ditolak Kesalahan di KVM Libvirt

Beberapa kali, Anda mungkin tidak memulai mesin Vagrant dan berakhir dengan kesalahan seperti ini - Failed to start domain 'Archlinux_default' error: Cannot access storage file '/home/sk/.local/share/libvirt/images/Archlinux_default.img' (as uid:107, gid:107): Permission denied .

Kesalahan ini biasanya terjadi ketika qemu pengguna tidak memiliki izin membaca ke direktori penyimpanan Libvirt. Untuk memperbaiki masalah ini, lihat panduan berikut:

  • [Terpecahkan] Tidak dapat mengakses file penyimpanan, Izin ditolak Kesalahan di KVM Libvirt

5. Kesimpulan

In this comprehensive guide, we learned what is Vagrant and the vagrant terminologies such as vagrant boxes, vagrantfile, and provisioning tools. We also learned how to install vagrant on Linux operating systems and finally we discussed a few basic vagrant commands to create and manage virtual machines from command line in Linux.

If you're a DevOps engineer, knowing how to use Vagrant will be very useful. Vagrant is one of the important tool that you should have on your system.


Linux
  1. Memulai dengan firewall Linux

  2. Memulai dengan perintah tac Linux

  3. Memulai dengan perintah cat Linux

  1. Memulai PiFlash:Mem-boot Raspberry Pi Anda di Linux

  2. Memulai PostgreSQL di Linux

  3. Memulai SSH di Linux

  1. Memulai dengan btrfs untuk Linux

  2. Saran untuk memulai dengan GNOME

  3. Memulai dengan desktop GNOME Linux