GNU/Linux >> Znalost Linux >  >> Linux

Jak používám Vagrant s libvirt

Přiznám se:jsem fanouškem Linuxu. I když jsem léta používal Slackware na pracovních stanicích a Red Hat Enterprise Linux (RHEL) na serverech, rád vidím, jak věci dělají jiné distribuce. A co víc, opravdu rád testuji aplikace a skripty, které píšu na jiných distribucích, abych zajistil přenositelnost. Ve skutečnosti je to jedna z velkých výhod Linuxu, jak to vidím já:Můžete si stáhnout distribuci a otestovat na ní svůj software zdarma. Nemůžete to udělat s uzavřeným operačním systémem, alespoň ne bez porušení smlouvy EULA nebo placení za hraní, a i přesto se často zaregistrujete ke stažení několika gigabajtů, jen abyste otestovali aplikaci, která není větší než několik stovek. megabajtů. Ale Linux je open source, takže jen zřídka existuje výmluva, proč ignorovat alespoň tři nebo čtyři hlavní distribuce, kromě toho, že nastavení virtuálního stroje může vyžadovat spoustu kliknutí a někdy složité virtuální sítě. Přinejmenším to bývala výmluva, dokud Vagrant nezměnil pracovní postup virtuálních strojů pro vývojáře.

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Co je Vagrant

Vagrant je jednoduchý správce virtuálních strojů pro váš terminál. Umožňuje vám snadno stáhnout minimální a předem sestavený virtuální stroj z internetu, spustit jej lokálně a v několika krocích do něj SSH. Je to nejrychlejší, jaký jste kdy nastavili virtuální stroj. Je ideální pro webové vývojáře, kteří potřebují testovací webový server, programátory, kteří potřebují otestovat aplikaci napříč distribucemi, a nadšence, kteří rádi vidí, jak různé distribuce fungují.

Samotný Vagrant je také relativně minimální. Není to samotný virtualizační rámec. Spravuje pouze vaše virtuální stroje ("krabice" v terminologii Vagrant). Jako backend může používat VirtualBox nebo prostřednictvím zásuvného modulu odlehčený projekt libvirt.

Co je libvirt

Projekt libvirt je sada nástrojů navržená pro správu virtualizace s podporou KVM, QEMU, LXC a dalších. Můžete si to představit jako jakési rozhraní API virtuálního stroje, které umožňuje vývojářům psát přátelské aplikace, které uživatelům usnadňují řízení virtualizace prostřednictvím libvirt. Používám libvirt jako backend pro Vagrant, protože je užitečný v několika aplikacích, včetně virt-manager a GNOME Boxů.

Instalace Vagrant

Vagrant si můžete nainstalovat z vagrantup.com/downloads. K dispozici jsou sestavení pro systémy založené na Debianu, systémy založené na CentOS, macOS, Windows a další.

Pro CentOS, Fedora nebo podobné získáte balíček RPM, který můžete nainstalovat pomocí dnf :

$ sudo dnf install ./vagrant_X.Y.ZZ_x86_64.rpm

V systémech Debian, Linux Mint, Elementary a podobných získáte balíček DEB, který můžete nainstalovat pomocí apt :

$ sudo apt install ./vagrant_X.Y.ZZ_x86_64.deb

Instalace libvirt a balíčků podpory

Na Linuxu již může mít vaše distribuce nainstalovaný libvirt, ale k umožnění integrace s Vagrant potřebujete také několik dalších balíčků. Nainstalujte je pomocí správce balíčků.

Na Fedoře, CentOS a podobných:

$ sudo dnf install gcc libvirt \
libvirt-devel libxml2-devel \
make ruby-devel libguestfs-tools

V systémech Debian, Linux Mint a podobných:

$ 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

V závislosti na vaší distribuci možná budete muset spustit libvirt démon:

$ sudo systemctl start libvirtd

Instalace pluginu Vagrant-libvirt

Ve Vagrant je libvirt povolen prostřednictvím zásuvného modulu. Vagrant usnadňuje instalaci zásuvného modulu, takže váš první příkaz Vagrant je ten, který budete znovu spouštět jen zřídka:

$ vagrant plugin install vagrant-libvirt

Nyní, když je nainstalován zásuvný modul libvirt, můžete začít používat virtuální stroje.

Nastavení prostředí Vagrant

Chcete-li začít s Vagrantem, vytvořte adresář s názvem ~/Vagrant . Zde jsou vaše Vagrantfiles jsou uloženy.

$ mkdir ~/Vagrant

V tomto adresáři vytvořte podadresář reprezentující distribuci, kterou chcete stáhnout. Předpokládejme například, že potřebujete testovací box CentOS.

Vytvořte adresář CentOS a poté do něj přejděte:

$ mkdir ~/Vagrant/centos
$ cd ~/Vagrant/centos

Nyní musíte najít virtuální počítač, abyste mohli převést adresář, který jste právě vytvořili, na prostředí Vagrant.

Nalezení virtuálního počítače Vagrant

Obecně řečeno, krabice Vagrant pocházejí ze tří různých míst:Hashicorp (správci Vagrant), správci distribucí a lidé jako vy a já. Některé obrázky jsou minimální a mají sloužit jako základ pro přizpůsobení. Naproti tomu jiní se snaží vyřešit konkrétní potřebu (například můžete najít obrázek zásobníku LAMP připravený pro vývoj webu). Obrázky můžete najít procházením nebo hledáním v hlavním centru pro boxy app.vagrantup.com/boxes/search.

V tomto příkladu vyhledejte „centos“ a najděte položku s názvem generic/centos8 . Kliknutím na obrázek zobrazíte pokyny, jak používat virtuální stroj. Pokyny jsou k dispozici ve dvou variantách: 

  • Kód, který potřebujete pro soubor Vagrantfile
  • Příkaz, který potřebujete k použití krabice z terminálu

Druhý způsob je jednodušší:

$ vagrant init generic/centos8

init dílčí příkaz vytvoří konfigurační soubor zvaný Vagrantfile ve vašem aktuálním adresáři, který transformuje tento adresář na prostředí Vagrant. Kdykoli si můžete zobrazit seznam známých prostředí Vagrant pomocí global-status dílčí příkaz:

$ vagrant global-status
id       name    provider state   directory
-------------------------------------------
49c797f  default libvirt running /home/tux/Vagrant/centos8

Spuštění virtuálního počítače pomocí Vagrant

Jakmile spustíte init můžete spustit svůj virtuální počítač pomocí vagrant up :

$ vagrant up

To způsobí, že Vagrant stáhne obraz virtuálního počítače, pokud ještě lokálně neexistuje, nastaví virtuální síť a nakonfiguruje váš box.

Vstup do virtuálního počítače Vagrant 

Jakmile bude váš virtuální počítač spuštěn, můžete se k němu přihlásit pomocí vagrant ssh :

$ vagrant ssh
box$

Připojíte se k boxu běžícímu ve vašem aktuálním prostředí Vagrant. Po přihlášení můžete spouštět všechny příkazy nativní pro daného hostitele. Je to virtuální stroj s vlastním jádrem s emulovaným hardwarem a běžným linuxovým softwarem.

Opuštění virtuálního počítače Vagrant

Chcete-li opustit svůj virtuální počítač Vagrant, odhlaste se z hostitele jako obvykle opouštíte počítač se systémem Linux:

box$ exit

Alternativně můžete vypnout virtuální počítač:

box$ sudo poweroff

Můžete také zastavit chod stroje pomocí vagrant příkaz:

box$ vagrant halt

Zničení virtuálního počítače Vagrant

Když skončíte s virtuálním počítačem Vagrant, můžete jej zničit:

$ vagrant destroy

Alternativně můžete virtuální počítač odebrat pomocí globálního box dílčí příkaz:

$ vagrant box remove generic/centos8

Vagrant je snadný

Vagrant dělá virtuální stroje triviálními, jednorázovými a rychlými. Když potřebujete testovací prostředí nebo falešný server, na kterém můžete pingnout nebo vyvíjet, nebo čistý laboratorní počítač pro experimentování nebo monitorování, můžete si jej pořídit s Vagrant. Někteří lidé si myslí, že virtuální stroje teď, když kontejnery převzaly servery, nejsou relevantní, ale virtuální stroje mají jedinečné vlastnosti, díky kterým jsou užitečné. Provozují své vlastní jádro, mají úplný a jedinečný zásobník oddělený od hostitelského počítače a používají emulovaný hardware. Když potřebujete virtuální stroj, může být Vagrant tím nejlepším způsobem, jak jej získat.


Linux
  1. Jak používat Linux Hexdump Command s praktickými příklady

  2. Jak používat Su Command v Linuxu

  3. Jak odstranit použití bez oprávnění root s UID 0 v Linuxu

  1. Jak používat BusyBox na Linuxu

  2. Jak používám cron v Linuxu

  3. Příkaz SCP v Linuxu:Jak jej používat, s příklady

  1. Jak používat příkaz Rmmod v systému Linux s příklady

  2. Jak používat export s Pythonem na Linuxu

  3. Jak používat sdílenou paměť s Linuxem v C