Cloud Init

Cloud-Init a virtuální počítače

Cloud-Init a virtuální počítače
Následující článek hovoří trochu o cloud-init a problémech, které má, a o tom, jak otevřený zdroj nutně neznamená svobodu. Pokud chcete ke konfiguraci cloudových obrázků použít cloud-init, přejděte dolů k bodu číslo 3.

1. Co to dělá?

Přemýšleli jste, jak poskytovatelé VPS konfigurují vaše virtuální počítače, přidávají vaše klíče SSH, vytvářejí uživatele a instalují balíčky pokaždé, když spustíte nový virtuální počítač v cloudu? Odpověď pro většinu prodejců je cloud-init. Většina operačních systémů a distribucí dodává obrazy virtuálních disků s příslušnými operačními systémy nainstalovanými v bitové kopii. Instalace je velmi minimální a může sloužit jako šablona pro kořenový souborový systém operačního systému. Správci OS jsou také natolik laskaví, aby poskytovali obraz virtuálního disku pro všechny různé formáty od obrazů surového disku až po qcow2 a dokonce i vmdk, vdi a vhd.

Obrázek má také předinstalovaný jeden balíček navíc, a to je cloud-init. Je to úkol cloud-init inicializovat virtuální počítač (obvykle v cloudové hostingové službě, jako je DigitalOcean, AWS nebo Azure), mluví s poskytovatelem hostingu zdroj dat a získejte informace o konfiguraci, které pak použije ke konfiguraci virtuálního počítače.

Informace o konfiguraci mohou obsahovat uživatelská data jako klíče SSH, název hostitele instance, uživatelé a hesla spolu s jakýmkoli jiným libovolným příkazem, který chce uživatel spustit.

2. Problém s Cloud-Init

Cloud-init je skvělý nástroj, pokud jste cloudový uživatel, pokud točíte virtuální počítače nebo kontejnery a váš poskytovatel cloudu je natolik laskavý, že vás požádá o cloudovou konfiguraci, je skvělé! S cloudovým konfiguračním souborem aka vaše uživatelská data můžete přidávat uživatele, spouštět libovolné příkazy, instalovat balíčky hned při vytváření virtuálního počítače. Proces lze opakovat znovu a znovu, aniž byste museli opakovaně zadávat zdlouhavé příkazy. Brzy máte flotilu virtuálních počítačů, všechny se stejnou konfigurací.

Pokud se však ponoříte trochu hlouběji a uvidíte, jak se klobása vyrábí, začnete pochybovat o některých aspektech cloud-init. Například ve výchozím nastavení je zdroj dat jako koncový bod REST a jsou v zásadě pevně zakódovány do samotného balíčku cloud-init. Jistě, můžete si nastavit zdroj dat sami, ale tento proces je clucky a časově náročný. Dokumentace k tomu je téměř neexistující.

Oficiální dokumentace není nic jiného než uživatelská příručka pro koncové uživatele spoléhající se na již existující cloudové služby. Neříká vám, jak můžete nastavit svůj vlastní zdroj dat cloud-init, v případě, že jste nadcházející dodavatel. Dokonce i dokumentace koncového uživatele je špatná a já bych doporučil lidem, kteří místo toho používají vynikající výukový program DigitalOcean.

Aby toho nebylo málo, uživatelé s domácími virtualizačními laboratořemi a malým spuštěním VPS obtížně těží z těchto lehkých cloudových obrazů. Nemůžete opravdu spustit VM z těchto šablon bez zdroje dat cloud-init nebo nějakého hackerství, které je obtížné automatizovat a škálovat. Jinými slovy, nemůžete se ani rozhodnout ignorovat cloud-init, pokud si nepřejete vytvořit vlastní šablony.

Klasickým systémovým způsobem se vymaní ze svých předdefinovaných rolí a začne se potýkat se sítí a dalšími částmi operačního systému, což uživatele odhodí. Je dodáván v rámci Ubuntu 18.04 server ISO, který nedává absolutně žádný smysl (alespoň ne pro mě).

3. Řešení pro domácí laboratoře

Po celou tu rvačku stranou musím při každodenním používání stále čelit cloud-init. Mám velmi minimální instalaci Debianu 9 na hardwaru x86_64, kterou používám jako hypervisor KVM. Opravdu jsem chtěl použít obrazy disků qcow2 dodávané Ubuntu a CentOS. Tyto obrazy disků mají v sobě předinstalovaný operační systém a pro jejich použití stačí:

  1. Zkopírujte je jako obrázek virtuálního pevného disku vašeho virtuálního počítače.
  2. Změňte velikost virtuální velikosti kořenového souborového systému na požadovanou velikost (doporučuje se alespoň 10 GB). To nezvýší fyzickou velikost vašeho virtuálního počítače, ale obraz disku se může postupem času zvětšovat, protože virtuální počítač k němu přidá více dat.
  3. Nakonfigurujte virtuální počítače pomocí cloud-init. Úplným minimálním požadavkem je nastavit heslo uživatele root nebo klíče SSH, ale můžete udělat vše, co cloud-init umí.

Postupují se podle následujících kroků:

  1. Stáhněte si cloudový obrázek svého oblíbeného OS a uložte jej do adresáře / var / lib / libvirt / boot:
$ cd / var / lib / libvirt / boot
$ curl -O https: // cloudové obrázky.ubuntu.com / xenial / current / xenial-server-cloudimg-
amd64-disk1.obr
$ cd / var / lib / libvirt / obrázky
  1. Vytvořte prázdný virtuální pevný disk požadované velikosti a rozbalte do něj stažený obrázek qcow2. Rád ukládám pevné disky VM do adresáře / var / lib / libvirt / images /, můžete si vybrat jiný adresář. Cokoli si vyberete, spusťte níže uvedené příkazy ve stejném adresáři:
$ qemu-img create -f qcow2 myVM.qcow2 8G ## Vytvořte pevný disk pomocí
velikost virtuálního disku 8 GB
$ virt-resize --expand / dev / sda1 / var / lib / libvirt / boot / xenial-server-
cloudimg-amd64-disk1.obr
./ myVM.qcow2
  1. Vytvořte soubory cloud-init. Jedná se o soubory uživatelských dat a metadat:
$ vim metadata
instance-id: myVM
local-hostname: myVM

$ vim uživatelská data
# cloud-config
uživatelé:
- jméno: root
chpasswd:
seznam: |
root: moje heslo
expirovat: False

Jediný uživatel, kterého zde mám, je uživatel root. Pokud nezmiňujete žádného uživatele, pak výchozího uživatele se jménem ubuntu se vytvoří. Výchozí uživatelské jméno se u jednotlivých operačních systémů liší, a proto doporučuji specifikovat uživatele, i když je spravedlivý vykořenit. Další část souboru uživatelských dat říká cloud-init, aby nakonfiguroval heslo pro všechny uživatele, kterým chcete přiřadit heslo. Opět nastavuji heslo pouze pro uživatele root a je moje heslo. Ujistěte se, že mezi dvojtečkou a řetězcem hesla není mezera.

Ještě lépe, můžete použít SSH klíče namísto toho, abyste měli pevně zakódovaná hesla.

$ vim uživatelská data
# cloud-config
uživatelé:
- jméno: root
ssh_pwauth: Pravda
ssh_authorized_keys:
- ssh-rsa
  1. Vložte soubory uživatelských dat a metadat do iso.
$ genisoimage -output cidata-myVM.iso -volid cidata -joliet -rock uživatelská data metadata

Ujistěte se, že soubor cidata-myVM.iso se nachází v / var / lib / libvirt / images /

  1. Přejděte do adresáře / var / lib / libvirt / images a inicializujte virtuální počítač pomocí příkazu virt-install: $ virt-install --import --name myVM --memory 2048 --vcpus 2 --cpu host
    --disk myVM.qcow2, format = qcow2, bus = virtio --disk myVM-cidata.iso, zařízení = cdrom
    --síťový most = virbr0, model = virtio --os-type = linux
    --os-variant = ubuntu16.04 - automatická konzola

    Nyní se můžete pokusit přihlásit do virtuálního počítače pomocí příkazu virsh console myVM a pomocí přihlašovacího jména uživatele root a příslušného hesla k přihlášení. Chcete-li konzolu opustit, jednoduše zadejte Ctrl +]

Závěr

Cloudové obrázky, které většina prodejců dodává, jsou opravdu efektivní z hlediska využití zdrojů a také se cítí opravdu rychle a pohotově. Skutečnost, že se musíme vypořádat s nepříjemnou konfigurací cloud-init jako výchozím bodem, pouze brání komunitě v přijetí KVM a souvisejících technologií.

Komunita se může hodně naučit ze způsobu, jakým Docker staví a dodává své obrázky. Spravují se opravdu snadno jako běžící kontejnery a šablony, které lze snadno distribuovat a používat.z

Ovládejte a spravujte pohyb myši mezi více monitory ve Windows 10
Správce myší se dvěma displeji umožňuje ovládat a konfigurovat pohyb myši mezi více monitory zpomalením jeho pohybů poblíž hranice. Windows 10/8 vám u...
WinMouse vám umožňuje přizpůsobit a vylepšit pohyb ukazatele myši na PC s Windows
Chcete-li vylepšit výchozí funkce ukazatele myši, použijte freeware WinMouse. Přidává další funkce, které vám pomohou vytěžit ze své skromné ​​myši ma...
V systému Windows 10 nefunguje levé tlačítko myši
Pokud používáte speciální myš s notebookem nebo stolním počítačem, ale levé tlačítko myši nefunguje ve Windows 10/8/7 z nějakého důvodu uvádíme několi...