GNU/Linux >> Znalost Linux >  >> Linux

Výukový program Vagrant – Začínáme s Vagrant v Linuxu

V tomto tutoriálu Vagrant se seznámíme s Vagrantem, vagrant boxy, vagrantfile, nástroji pro zřizování, jak nainstalovat vagrant na operační systémy Linux a nakonec se naučíme několik základních příkazů vagrant pro vytváření a správu virtuálních strojů z příkazového řádku.

1. Úvod do Vagrant

Vagrant je software s otevřeným zdrojovým kódem pro vytváření a údržbu virtuálních prostředí pro vývoj softwaru. Poskytuje čisté, snadno konfigurovatelné, reprodukovatelné a přenosné vývojové prostředí. Jinými slovy, Vagrant nám umožňuje snadno a rychle nasadit univerzální prostředí pro vývoj softwaru, které lze použít kdekoli. Vagrant jednoduše eliminuje výmluvu "pracuje na mém stroji". Protože všichni pracují na stejném prostředí se stejnou sadou konfigurace. Nezáleží na tom, jaký OS používají.

Vagrant se často používá k nastavení identického a kolaborativního pracovního prostředí pro vývojáře, aby mohli pracovat na společném projektu. Izoluje všechny požadované závislosti a jejich konfigurační nastavení do jediného jednorázového prostředí. Když ostatní vývojáři vytvoří vývojové prostředí se stejným konfiguračním souborem, získají stejné prostředí se stejným nastavením.

Vagrant je multiplatformní aplikace napsaná v Ruby Jazyk. Podporuje GNU/Linux, Mac OS a Microsoft Windows. Je vyvinut společností Hashicorp a vydané pod MIT licence.

1.1. Vagrant boxy

"Krabice" je formát a rozšíření pro prostředí Vagrant. Krabice tuláků jsou jen základní obrázky. Mohou to být image Virtualboxu nebo VMware nebo image poskytovatele cloudu, jako je Amazon Machine Image (AMI). Můžeme zkopírovat krabice tuláků do jakýchkoli jiných systémů a nastavit přesnou repliku aktuálního vývoje.

V Vagrant Cloud je ke stažení mnoho předem nakonfigurovaných krabic Vagrant veřejné úložiště. Pokud nechcete používat předem nakonfigurované boxy, vytvořte si jeden podle svých představ a distribuujte je všem prostřednictvím tohoto úložiště.

1.2. Vagrantfile

Požadavky na operační systém a software jsou definovány v konfiguračním souboru s názvem „vagrantfile“. Tento soubor je distribuován spolu s krabicemi Vagrant. Když inicializujete virtuální počítač pomocí Vagrant, přečte tento soubor a podle toho nastaví vaše vývojové prostředí. Takže skutečným účelem souboru vagrantfile je popsat typ virtuálního počítače a jak nakonfigurovat a zřídit virtuální počítače.

Následující podrobnosti jsou definovány v typickém souboru vagrantfile:

  • Verze operačního systému, např. Ubuntu bionic.
  • Povolit/zakázat automatickou kontrolu aktualizací boxu.
  • Konfigurace sítě;
    • přesměrování portů,
    • nakonfigurujte soukromou síť (pouze hostitelský přístup k počítači),
    • nakonfigurujte veřejnou síť (přemostěnou síť).
  • Sdílejte složky na virtuálním počítači hosta.
  • Nastavte preferovaného poskytovatele, např. virtualbox, kvm.
  • Definujte celkové množství paměti virtuálního počítače.
  • Povolte zajišťování pomocí skriptu shellu nebo nástrojů pro správu konfigurace, jako je Ansible.

1.3. Nástroje pro zřizování

Vagrant není samostatná virtualizační platforma jako KVM nebo Virtualbox. Je to jen obal a front-end, který sedí mezi virtualizačním softwarem a virtuálním strojem. Vagrant využívá různé poskytovatele služeb a nástroje pro poskytování k vytváření a správě vývojových prostředí.

Virtuální stroje jsou postaveny na populárních virtualizačních aplikacích, jako jsou VirtualBox, KVM, Docker, VMware atd., a na poskytovatelích cloudových služeb, jako jsou AWS, Azure, GCE a mnoho dalších. Úplný seznam podporovaných poskytovatelů si můžete prohlédnout zde . Vagrant se dodává hned po vybalení s podporou pro VirtualBox, Hyper-V a Docker. VirtualBox je výchozím poskytovatelem pro Vagrant.

Jakmile je virtuální stroj postaven, můžeme na něj nainstalovat software pomocí jednoduchých skriptů shellu a průmyslových standardních nástrojů pro správu konfigurace, jako jsou Ansible, CFEngine, Chef, Docker, Podman, Puppet a Salt atd. Uživatelé si také mohou přizpůsobit konfiguraci virtuální prostředí podle jejich požadavků pomocí nástrojů pro poskytování.

Stručně řečeno, poskytovatelé (např. VirtualBox, AWS) se používají k vytvoření virtuálního prostředí a poskytovatelé (např. Ansible, Puppet) se používají k přizpůsobení virtuálních prostředí.

2. Nainstalujte Vagrant na Linux

Instalace Vagrant je neuvěřitelně snadná a přímočará. Stačí si stáhnout nejnovější verzi ze stránky stahování Vagrant a nainstalovat pomocí standardního postupu pro vaše operační systémy. Chcete-li vědět, jak nainstalovat Vagrant na různé platformy Linux, přejděte na následující odkaz.

  • Jak nainstalovat Vagrant na Linux

3. Výukový program Vagrant – Základní příkazy Vagrant pro vytváření a správu virtuálních strojů

Zde jsem uvedl příklady pouze pro základní příkazy Vagrant, které potřebujeme k nastavení a správě virtualizovaného vývoje. Chcete-li se dozvědět úplné použití Vagrant, podívejte se na oficiální dokumentaci uvedenou na konci.

3.1. Vytvořte adresář projektu Vagrant

Nejprve musíme vytvořit adresář projektu.

Chystám se vytvořit adresář s názvem myvagrants pro mé virtuální prostředí:

$ mkdir myvagrants

CD do tohoto adresáře pro sestavení a uložení virtuálních strojů:

$ cd myvagrants

3.2. Inicializujte prostředí Vagrant

Inicializujte prostředí Vagrant pomocí následujícího příkazu:

$ vagrant init hashicorp/bionic64

Ukázkový výstup:

Do tohoto adresáře byl umístěn `Vagrantfile`. Nyní jste připraveni `rozvinout` své první virtuální prostředí! Přečtěte si prosím komentáře ve Vagrantfile a také dokumentaci na `vagrantup.com`, kde najdete další informace o používání Vagrant.

Výše uvedený příkaz inicializuje aktuální adresář jako výchozí prostředí Vagrant a vytvoří základní soubor Vagrantfile.

Obsah nově vytvořeného souboru vagrantfile můžete zobrazit pomocí cat a znát podrobnosti o virtuálním počítači, který se chystáte sestavit:

$ cat Vagrantfile | méně

Když v následujících krocích spustíte VM, stáhne si bionický box Ubuntu publikovaný HashiCorp. Tým Vagrant také doporučuje používat Bento boxy . Jsou open source a jsou vytvořeny pro oblíbené poskytovatele, jako jsou Virtualbox, VMWare a Parallels. HashiCorp a Bento jsou jediné dvě oficiálně doporučené sady krabic.

3.3. Spusťte virtuální počítač

Nyní vytvořte a spusťte virtuální počítač podle souboru vagrantfile (který jsme vytvořili v předchozím kroku) pomocí příkazu:

$ vagrant up

Ukázkový výstup:

Přenesení stroje 'výchozí' nahoru s poskytovatelem 'virtualbox'...==> výchozí:Box 'hashicorp/bionic64' nebyl nalezen. Pokus o nalezení a instalaci... výchozí:Poskytovatel boxu:výchozí virtualbox:Verze boxu:>=0==> výchozí:Načítání metadat pro box 'hashicorp/bionic64' výchozí:URL:https://vagrantcloud.com/hashicorp/ bionic64==> výchozí:Přidání pole 'hashicorp/bionic64' (v1.0.282) pro poskytovatele:virtualbox výchozí:Stahování:https://vagrantcloud.com/hashicorp/boxes/bionic64/versions/1.0.282/providers/virtualbox. boxDownload přesměrován na hostitele:vagrantcloud-files-production.s3.amazonaws.com==> výchozí:Úspěšně přidáno pole 'hashicorp/bionic64' (v1.0.282) pro 'virtualbox'!==> výchozí:Import základního pole 'hashicorp/ bionic64'...==> výchozí:Odpovídající MAC adresa pro síť NAT...==> výchozí:Kontrola, zda je políčko 'hashicorp/bionic64' verze '1.0.282' aktuální...==> výchozí:Nastavení názvu virtuálního počítače:myvagrants_default_1597837509450_67666Vagrant je aktuálně nakonfigurován k vytváření synchronizovaných složek VirtualBox se zapnutou možností `SharedFoldersEnableSymlinksCreate`. Pokud Vagrantguest není důvěryhodný, můžete tuto možnost deaktivovat. Další informace o této možnosti naleznete v příručce VirtualBox:https://www.virtualbox.org/manual/ch04.html#sharedfolders Tuto možnost lze zakázat globálně pomocí proměnné prostředí:VAGRANT_DISABLE_VBOXSYMLINKCREATE=1nebo na základě složky v rámci Vagrantfile:config.vm.synced_folder '/host/cesta', '/guest/cesta', SharedFoldersEnableSymlinksCreate:false==> výchozí:Vymazání všech dříve nastavených síťových rozhraní...==> výchozí:Příprava síťových rozhraní na základě konfigurace. .. výchozí:Adaptér 1:nat==> výchozí:Přesměrování portů... výchozí:22 (host) => 2222 (hostitel) (adaptér 1)==> výchozí:Booting VM...==> výchozí:Čekání pro spuštění stroje. To může trvat několik minut... výchozí:adresa SSH:127.0.0.1:2222 výchozí:uživatelské jméno SSH:vagrant výchozí:Metoda ověření SSH:soukromý klíč výchozí:Upozornění:Resetování připojení. Opakuji... výchozí:Upozornění:Vzdálené připojení odpojeno. Opakuji... výchozí:Upozornění:Vzdálené připojení odpojeno. Opakuji... výchozí:výchozí:Zjištěn nezabezpečený klíč Vagrant. Vagrant automaticky nahradí výchozí:to s nově vygenerovaným párem klíčů pro lepší zabezpečení. výchozí:výchozí:Vložení vygenerovaného veřejného klíče do hosta... výchozí:Odstranění nezabezpečeného klíče z hosta, pokud je přítomen... výchozí:Klíč vložen! Odpojení a opětovné připojení pomocí nového klíče SSH...==> výchozí:Počítač spuštěný a připravený!==> výchozí:Kontrola přidání hosta ve virtuálním počítači... výchozí:Přidání hosta na tomto virtuálním počítači neodpovídají nainstalované verzi výchozího nastavení :VirtualBox! Ve většině případů je to v pořádku, ale v ojedinělých případech to může být výchozí:zabránit věcem, jako jsou sdílené složky, ve správném fungování. Pokud vidíte výchozí:chyby sdílené složky, ujistěte se, že přídavky hosta ve výchozím:virtuálním počítači odpovídají verzi VirtualBoxu, kterou jste nainstalovali na výchozí:váš hostitel, a znovu načtěte váš VM. výchozí:výchozí:Verze přídavků pro hosty:6.0.10 výchozí:Verze VirtualBox:6.1==> výchozí:Připojování sdílených složek... výchozí:/vagrant => /home/sk/myvagrants

Výše uvedený příkaz stáhne bionický box Ubuntu z cloudu Vagrant, vytvoří nový virtuální stroj s názvem "myvagrants_default_1597837509450_67666" , přidejte jej do Virtualboxu a automaticky spusťte VM.

Neuvidíte žádná oznámení, i když je virtuální počítač spuštěný. Chcete-li ověřit, zda je virtuální počítač spuštěný, otevřete aplikaci virtualizace (např. VirtualBox nebo Virt-manager) a zkontrolujte, zda je virtuální počítač spuštěný nebo ne.

Vzhledem k tomu, že Vagrant používá jako výchozího poskytovatele Virtualbox, vidím běžící VM ze správce virtualboxu.

Jak můžete vidět, Ubuntu bionic VM běží ve Virtualboxu.

Pokud používáte jiného poskytovatele, například Virt-manager, otevřete jej a zkontrolujte, zda běží počítač Vagrant.

3.4. Přístup k virtuálním strojům

Můžete se připojit a přistupovat k běžícím virtuálním počítačům pomocí SSH.

Chcete-li SSH do spuštěného boxu Vagrant pomocí příkazu, spusťte:

$ vagrant ssh

Ukázkový výstup:

Vítejte v Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-58-generic x86_64) * Dokumentace:https://help.ubuntu.com * Správa:https://landscape.canonical.com * Podpora:https://ubuntu.com/advantage Informace o systému k 24. st. 11:56:42 UTC 2020 Zatížení systému:0,08 Procesy:88 Využití /:2,5 % z 61,80 GB Přihlášení uživatelé:0 Využití paměti:11 % IP adresa pro eth0:10.0.2.15 Využití swapu:0 % * Jste připraveni na Kubernetes 1.19? Už je to skoro tady! Vyzkoušejte RC3 se sudo snap install microk8s --channel=1.19/candidate --classic https://microk8s.io/ má dokumenty a podrobnosti.0 balíčky lze aktualizovat.0 aktualizace jsou aktualizace zabezpečení.[email protected]:~$  

3.5. Synchronizovat místní a hostující soubory

Podpora synchronizace souborů Vagrant ihned po vybalení. Ve výchozím nastavení Vagrant sdílí váš projektový adresář (ten obsahující soubor Vagrantfile. V mém případě je to ~/myvagrants .) na /vagrant adresář ve vašem hostujícím virtuálním počítači.

Můžete to ověřit uvedením obsahu /vagrant adresář ve vašem virtuálním počítači:

[e-mail chráněný]:~$ ls /vagrant/Vagrantfile

Vezměte prosím na vědomí, že soubor Vagrantfile, který vidíte ve virtuálním počítači, je ve skutečnosti stejný soubor Vagrantfile, který je na vašem skutečném hostitelském počítači.

Chcete-li otestovat, zda synchronizace skutečně funguje, vytvořte ukázkový soubor v /vagrant adresář ve vašem hostujícím počítači:

[e-mail chráněn]:~$ dotkněte se /vagrant/test.txt

Ukončete relaci SSH vašeho virtuálního počítače:

[e-mail chráněn]:~$ odhlášení

Nyní zkontrolujte místní adresář projektu ve vašem hostitelském systému. Uvidíte, že stejný soubor je vytvořen také na hostitelském počítači.

[e-mail chráněný]:~/myvagrants$ lstest.txt Vagrantfile

3.6. Zobrazení stavu virtuálních počítačů

Chcete-li zobrazit stav virtuálního počítače ve virtuálním prostředí, spusťte:

$ status tulák

Ukázkový výstup:

Aktuální stavy počítače:výchozí běží (virtualbox) Virtuální počítač běží. Chcete-li tento virtuální počítač zastavit, můžete spustit příkaz `vagrant halt`, který jej násilně vypne, nebo můžete spustit příkaz `vagrant suspend` a virtuální počítač jednoduše pozastavit. V obou případech jej chcete znovu restartovat jednoduše spuštěním `vagrant up`.

Jak vidíte výše, mám pouze jeden virtuální počítač a ten nyní běží.

Pokud je virtuální počítač vypnutý, zobrazí se následující výstup:

Aktuální stavy počítače:výchozí vypnutí (virtualbox) Virtuální počítač je vypnutý. Chcete-li restartovat virtuální počítač, jednoduše spusťte `vagrant up`

3.7. Zobrazení stavu všech virtuálních prostředí

Informace o všech známých virtuálních prostředích v našem systému můžeme zobrazit pomocí následujícího příkazu:

Globální status $ tulák

Ukázkový výstup:

id name provider state directory ------------------------------------------ -------------------------------2086482 výchozí vypnutí virtuálního boxu /home/sk/myvagrants Výše ​​uvedené zobrazuje informace o všech známých prostředích Vagrantson tento stroj. Tato data jsou uložena v mezipaměti a nemusí být zcela aktuální (k odstranění neplatných položek použijte "vagrant global-status --prune"). Chcete-li komunikovat s kterýmkoli z počítačů, můžete přejít do tohoto adresáře a spustit Vagrant, nebo můžete ID použít přímo s příkazy Vagrant z libovolného adresáře. Například:"vagrant zničit 1a2b3c4d"

Výše uvedený příkaz zobrazí ID virtuálního počítače, název, poskytovatele, stav virtuálního počítače a adresář virtuálního prostředí.

Někdy může být výstup uložen do mezipaměti a nemusí být správný. Spusťte tedy následující příkaz k odstranění neplatných položek a získání aktuálního stavu virtuálního prostředí:

$ vagrant global-status --prune

3.8. Pozastavit virtuální stroje

Chcete-li pozastavit běžící virtuální počítač, spusťte:

$ vagrant pozastavení

Ukázkový výstup:

==> výchozí:Ukládání stavu virtuálního počítače a pozastavení provádění…

3.9. Obnovit virtuální stroje

Chcete-li obnovit pozastavený virtuální počítač v aktuálním virtuálním prostředí, spusťte:

$ potulný životopis

Ukázkový výstup:

==> výchozí:Obnovení pozastaveného VM...==> výchozí:Spouštění VM...==> výchozí:Čekání na spuštění počítače. To může trvat několik minut... výchozí:adresa SSH:127.0.0.1:2222 výchozí:uživatelské jméno SSH:vagrant výchozí:metoda ověření SSH:soukromý klíč==> výchozí:Počítač spuštěn a připraven!==> výchozí:Počítač již zajištěno. Chcete-li vynutit zřizování, spusťte `vagrant provision` nebo použijte `--provision`==> default:flag. Zprostředkovatelé, kteří jsou označeni jako spouštěné vždy, budou stále spuštěny.

3.10. Restartujte virtuální počítače

Chcete-li restartovat běžící virtuální počítač, postupujte takto:

$ vagrant reload

Tento příkaz elegantně vypne virtuální počítač a znovu jej spustí.

3.11. Zastavení/vypnutí virtuálních počítačů

Chcete-li zastavit nebo vypnout běžící virtuální počítač, postupujte takto:

$ tulák zastavit

3.12. Odstranit virtuální počítače

Chcete-li zastavit a odstranit všechny stopy virtuálního počítače, spusťte:

$ tulák zničit

Zadejte y a stiskněte ENTER pro odstranění virtuálního počítače.

Pokud chcete odstranit virtuální počítač bez potvrzení, spusťte:

$ vagrant zničit -f

3.13. Resetovat virtuální počítače

Někdy možná budete chtít resetovat svůj virtuální počítač do původního stavu, aniž byste skutečně odstranili pole. To může být užitečné pro nasazení čistého virtuálního prostředí, aniž byste museli znovu a znovu stahovat tulák.

Chcete-li resetovat virtuální počítač do původního stavu, jednoduše proveďte:

$ tulák zničit
$ vagrant up

První příkaz vypne běžící virtuální stroj a odstraní všechny prostředky, které jsou k němu přidruženy. A druhý příkaz znovu vytvoří nový nový virtuální stroj pomocí existujícího boxu tulák.

Další podrobnosti naleznete na následujícím odkazu:

  • Jak resetovat virtuální počítač Vagrant do původního stavu

3.14. Spouštějte příkazy Vagrant z libovolného adresáře

Obvykle spustíme, zastavíme, znovu načteme a odstraníme stroj Vagrant z adresáře jeho projektu, že? Ano! Můžeme však spouštět příkazy Vagrant z libovolného adresáře pomocí ID počítače Vagrant.

Chcete-li zjistit ID počítače Vagrant, spusťte následující příkaz:

Globální status $ tulák

Ukázkový výstup:

id name provider state directory ------------------------------------------ ----------------------------ddc1a10 výchozí vypnutí libvirt /home/sk/Vagrant/Ubuntu2004 f4904ad výchozí vypnutí libvirt /home/sk/Vagrant/Archlinux 831f9c0 výchozí vypnutí libvirt /home/sk/Vagrant/Gentoo 3587422 výchozí vypnutí libvirt /home/sk/Vagrant/Rhel8 b2279ad default libvirt shutoff /home/sk/Vagrant/Almalinux8 Výše ​​uvedené zobrazuje informace o všech známých prostředích Vagrant na tomto počítači. Tato data jsou uložena v mezipaměti a nemusí být zcela aktuální (k odstranění neplatných položek použijte "vagrant global-status --prune"). Chcete-li komunikovat s kterýmkoli z počítačů, můžete přejít do tohoto adresáře a spustit Vagrant, nebo můžete ID použít přímo s příkazy Vagrant z libovolného adresáře. Například:"vagrant zničit 1a2b3c4d"

Jak vidíte ve výše uvedeném výstupu, vagrant global-status zobrazí podrobnosti o všech známých virtuálních prostředích v mém systému. První sloupec ve výše uvedeném výstupu zobrazuje ID každého stroje Vagrant.

ID můžete použít přímo s příkazy Vagrant z libovolného adresáře. Například pro spuštění počítače Vagrant z libovolného adresáře můžeme jednoduše použít:

$ vagrant up b2279ad

Tím se spustí potulný stroj s ID b2279ad .

Podobně můžeme použít i další příkazy Vagrant.

$ stav tulák b2279ad
$ vagrant ssh b2279ad
$ vagrant halt b2279ad
$ tulák zničit b2279ad

3.15. Vypište krabice Vagrant

Chcete-li zobrazit seznam všech dostupných boxů, které jsou nainstalovány s Vagrant, spusťte:

$ seznam vagrant boxů

Ukázkový výstup:

hashicorp/bionic64 (virtualbox, 1.0.282)

Pokud chcete zobrazit některé další podrobnosti pole, jako je jméno autora, webové stránky, úložiště, popis atd., použijte -i příznak:

$ seznam krabic tuláků -i

Ukázkový výstup:

generic/alpine38 (virtualbox, 3.1.16) - Autor:Ladar Levison - Web:https://roboxes.org/ - Artefakty:https://vagrantcloud.com/generic/ - Repozitář:https://github .com/lavabit/robox/ – Popis:Základní obrazy virtuálních strojů pro různé operační systémy/hypervizory a připravené sloužit jako základní bxoes.

3.16. Zkontrolujte, zda není krabice Vagrant zastaralá

Chcete-li zkontrolovat, zda pole, které používáte ve svém prostředí vagrant, není zastaralé, přejděte do prostředí Vagrant, tj. adresář projektu,

$ cd myvagrants/

a spusťte:

$ vagrant box je zastaralý Kontrola, zda je pole 'hashicorp/bionic64' verze '1.0.282' aktuální…

3.17. Aktualizujte Vagrant boxy

Pokud existují nějaké zastaralé boxy, můžete je aktualizovat takto:

Aktualizace $ vagrant box

Ukázkový výstup:

==> výchozí:Kontrola aktualizací na 'hashicorp/bionic64'výchozí:Nejnovější nainstalovaná verze:1.0.282výchozí:Omezení verze:výchozí:Poskytovatel:virtualbox==> výchozí:Box 'hashicorp/bionic64' (v1.0.282 ) používá nejnovější verzi.

3.18. Stáhněte si Vagrant boxy

vagrant init příkaz inicializuje a spustí prostředí Vagrant stažením příslušného boxu Vagrant definovaného v souboru Vagrantfile.

Můžete si také ručně stáhnout box Vagrant a upravit jeho soubor vagrant a poté jej spustit.

Chcete-li stáhnout krabici Vagrant, spusťte:

$ vagrant box add bento/debian-10.5

Výše uvedený příkaz stáhne krabici verze Debian 10.5 vydané společností Bento. Budete požádáni o výběr poskytovatele (např. virtualbox nebo vmware), kterého aktuálně používáte. Stačí si vybrat jeden a stisknout ENTER pro stažení boxu.

Ukázkový výstup:

==> box:Načítání metadat pro pole 'bento/debian-10.5' box:URL:https://vagrantcloud.com/bento/debian-10.5Toto pole může fungovat s více poskytovateli! Poskytovatelé, se kterými může spolupracovat, jsou uvedeni níže. Prohlédněte si prosím seznam a vyberte poskytovatele, se kterým budete pracovat.1) parallels2) virtualbox3) vmware_desktopZadejte svou volbu:2 ==> box:Přidání pole 'bento/debian-10.5' (v202008.16.0) pro poskytovatele:box virtualbox:Stahování:https://vagrantcloud.com/bento/boxes/debian-10.5/versions/202008.16.0/providers /virtualbox.boxStahování přesměrováno na hostitele:vagrantcloud-files-production.s3.amazonaws.com==> box:Úspěšně přidáno pole 'bento/debian-10.5' (v202008.16.0) pro 'virtualbox'

Můžete to ověřit uvedením dostupných polí:

$ seznam krabic tuláků

Ukázkový výstup:

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

Všechny stažené krabice Vagrant budou k dispozici v ~/.vagrant.d/boxes adresář ve vašem hostitelském systému.

3.19. Zobrazit velikost krabic Vagrant

Jak je uvedeno v předchozí části, stažené krabice Vagrant jsou uloženy v ~/.vagrant.d/boxes adresář.

Seznam všech stažených schránek v tomto adresáři můžete zobrazit příkazem:

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

Pro zjištění velikosti jednotlivých krabic Vagrant použijte du příkaz s -h příznak jako níže:

589M /home/sk/.vagrant.d/boxes/archlinux-VAGRANTSLASH-archlinux/20210601.24453/libvirt589M /home/sk/.vagrant.d/boxes/archlinux-VAGRANTSLASH/2sklinux /4030 .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/ boxy/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/629M .vagrant.d/boxes/almalinux-VAGRANTSLASH-86.4G /home/sk/.vagrant.d/boxes

Chcete-li zobrazit celkové souhrnné využití, spusťte:

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

3.20. Přidejte stažený soubor .box do vagrant

Mnoho distribucí Linuxu je distribuováno prostřednictvím předem nakonfigurovaných krabic Vagrant. Takže můžete rychle uchopit tulákovou krabici a spustit ji pomocí příslušné virtualizační aplikace. Další podrobnosti naleznete v následující příručce:

  • Jak přidat stažený soubor .box do Vagrant v systému Linux

3.21. Vytvořte virtuální počítač pomocí Vagrant box

Chcete-li vytvořit nový virtuální počítač s nově staženým boxem, přejděte do adresáře projektu a inicializujte prostředí vagrant pomocí příkazu:

$ vagrant init

Pozor :Před inicializací nového prostředí vagrant odstraňte existující soubor Vagrant.

Tím se v aktuálním adresáři vytvoří nový soubor Vagrantfile.

Upravte soubor Vagrant a aktualizujte podrobnosti o virtuálním počítači a nahraďte následující řádek:

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

s následujícím:

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

Verzi pro nový virtuální počítač můžete explicitně určit přidáním následujících řádků:

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

Můžete dokonce zadat i adresu URL pro stažení:

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/ "
."

Nyní vytvořte a spusťte virtuální počítač na základě tohoto Vagrantfile s příkazem:

$ vagrant up

Případně můžete přímo uvést název boxu při inicializaci prostředí Vagrant. To může být užitečné, pokud máte více než jednu tulákovou krabici.

Nejprve vypište seznam dostupných tuláků pomocí příkazu:

$ seznam krabic tuláků 

Ukázkový výstup:

Fedora33 (libvirt, 0)archlinux/archlinux (virtualbox, 20201201.10292)fedora33 (virtualbox, 0)generic/alpine38 (virtualbox, 3.1.16)oraclelinux/7 (7x) (virtualbox.83vir, linux) .183)

Dovolte nám, abyste vytvořili virtuální stroj z krabice s názvem "generic/alpine38". Chcete-li to provést, jednoduše spusťte:

$ vagrant init generic/alpine38

Tento příkaz vytvoří nový soubor Vagrantfile a inicializuje prostředí vagrant s danou konfigurací boxu. Není třeba ručně upravovat Vagrantfile a aktualizovat podrobnosti krabice.

Dále spusťte virtuální počítač pomocí příkazu:

$ vagrant up

3.22. Používejte Vagrant s poskytovatelem Libvirt KVM

Jak jsem již uvedl, Vagrant ve výchozím nastavení používá ke spuštění virtuálních strojů Virtualbox. Je také možné říci Vagrantovi, aby použil jiného poskytovatele, například Libvirt KVM , ke spouštění virtuálních počítačů pomocí vagrant-libvirt zapojit. Tento plugin přidává poskytovatele Libvirt do Vagrant a umožňuje Vagrantu ovládat a zajišťovat stroje přes Libvirt. Chcete-li se dozvědět, jak používat libvirt jako poskytovatele Vagrant, přečtěte si následující příručku:

  • Jak používat Vagrant s poskytovatelem Libvirt KVM

3.23. Konfigurace sítě ve Vagrant

Pro zajištění síťového přístupu mezi hostovanými počítači a hostitelským systémem nabízí Vagrant následující tři možnosti:

  1. Přesměrování portů
  2. Soukromá síť (síť pouze pro hostitele)
  3. Veřejná síť (přemostěná síť)

Každá možnost má své vlastní vzestupy a pády. Můžete nakonfigurovat jednu nebo všechny možnosti sítě Vagrant, jak je popsáno v následující příručce:

  • Jak nakonfigurovat síť ve Vagrant

3.24. Najděte IP adresu počítače Vagrant z hostitelského systému

Abychom našli IP adresu stroje Vagrant, obvykle do něj ssh a zjistíme jeho IP adresu pomocí ip nebo ifconfig příkazy. Můžeme také přímo získat IP adresu běžícího stroje Vagrant od hostitele, jak je popsáno v následujícím odkazu:

  • Jak najít IP adresu Vagrant Machine z hostitele

3.25. Zvyšte paměť a CPU na stroji Vagrant

Máte problémy s výkonem vašeho stroje Vagrant? Pravděpodobně je to kvůli nedostatečné paměti nebo CPU. Jednoduše přidejte do stroje Vagrant více RAM a jádra CPU, abyste zlepšili jeho výkon, jak je znázorněno na následujícím odkazu.

  • Jak zvýšit paměť a CPU na Vagrant Machine

3.26. Odstraňte zastaralé krabice Vagrant

Možná jste si stáhli několik verzí krabic Vagrant a některé z nich mohou být značně zastaralé! Pokud již nejsou vyžadovány, můžete bezpečně odstranit staré verze nainstalovaných boxů Vagrant, jak je popsáno v následujícím odkazu.

  • Jak smazat zastaralé tulácké krabice v Linuxu

3.27. Trvale odstranit krabice Vagrant

Chcete-li odstranit tulákovou krabici, například hashicorp/bionic64, spusťte:

$ vagrant box odstranit hashicorp/bionic64

Zadejte y a stiskněte ENTER pro potvrzení smazání:

Zdá se, že box 'hashicorp/bionic64' (v1.0.282) s poskytovatelem 'virtualbox' stále používá alespoň jedno prostředí Vagrant. Odstranění krabice by mohlo poškodit prostředí. Doporučujeme nejprve zničit tato prostředí:výchozí (ID:20864823c72f45568d251070b5ce2661)Opravdu chcete odstranit toto pole? [y/N] y Odebírání boxu 'hashicorp/bionic64' (v1.0.282) s poskytovatelem 'virtualbox'…

Pokud neznáte název boxu, stačí spustit následující příkaz a zobrazit seznam všech nainstalovaných boxů:

$ seznam krabic tuláků

V této fázi byste se měli naučit základy používání Vagrantu. Vagrant je rozsáhlé téma a já se pokusím pokrýt co nejvíce v našich nadcházejících článcích. Zůstaňte naladěni!

4. Odstraňování problémů tulák

Tato část se zabývá některými běžnými problémy s Vagranty.

4.1. Vagrant se nepodařilo inicializovat ve velmi rané fázi

Nepodařilo se spustit váš stroj Vagrant? Bez obav! Toto je jeden z běžných problémů tuláků. Může to být způsobeno zastaralými pluginy nebo se mohl adresář Vagrant HOME přesunout na jiné místo. Chcete-li tento problém vyřešit, postupujte podle následujícího průvodce:

  • Jak opravit chybu „Vagrant se nepodařilo inicializovat ve velmi rané fázi“ v Linuxu

4.2. Nelze získat přístup k souboru úložiště, oprávnění odepřeno Chyba v KVM Libvirt

Někdy se může stát, že počítač Vagrant nespustíte a skončíte s chybou podobnou této - 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 .

K této chybě obvykle dochází, když qemu uživatel nemá oprávnění ke čtení do adresáře úložiště Libvirt. Chcete-li tento problém vyřešit, postupujte podle následujícího průvodce:

  • [Vyřešeno] Nelze získat přístup k souboru úložiště, oprávnění odepřeno Chyba v KVM Libvirt

5. Závěr

V tomto komplexním průvodci jsme se naučili, co je to Vagrant a vagrantské terminologie, jako jsou vagrant boxy, vagrantfile a nástroje pro poskytování. Také jsme se naučili, jak nainstalovat vagrant na operační systémy Linux a nakonec jsme probrali několik základních příkazů vagrant pro vytváření a správu virtuálních strojů z příkazové řádky v Linuxu.

Pokud jste inženýrem DevOps, vědět, jak používat Vagrant, bude velmi užitečné. Vagrant je jedním z důležitých nástrojů, který byste měli mít ve svém systému.


Linux
  1. Začínáme s linuxovými firewally

  2. Začínáme s příkazem tac systému Linux

  3. Začínáme s PostgreSQL na Linuxu

  1. Začínáme s PiFlash:Spuštění Raspberry Pi v systému Linux

  2. Začínáme s linuxovým příkazem cat

  3. Začínáme s SSH v Linuxu

  1. Začínáme s btrfs pro Linux

  2. Rady pro začátek s GNOME

  3. Začínáme s pracovním prostředím GNOME Linux