Úvod do virtualizácie

  • Motivácia - Čo nám umožňuje virtualizácia.
  • Základné pojmy - Čo je to virtualizácia
  • Ako prebieha virtualizácia
  • Čo je to Docker

Prečo virtualizácia?

  • uľahčenie manažmentu infraštruktúry.
  • uľahčenie vývoja.
  • uľahčenie procesu nasadenia aplikácie.

Virtualizácia maže rozdiely medzi systémami.

  • Aplikácia sa vie za behu "sťahovať" medzi systémami.
  • Aplikácia vie bežať na viacerých systémoch naraz.
  • Jeden systém vie obslúžiť viac aplikácií naraz.

Je možné si prenajať len časť prostriedkov stroja.

Virtuálna infraštruktúra môže byť úplne odlišná od fyzickej infraštruktúry.

Prenositeľnosť

Manažment závislostí aplikácie

Rovnaká alebo takmer rovnaká aplikácia beží v rôznych podmienkach.

  • Ak vymením HW, nemusím vymeniť SW
  • Ak vymením OS, nemusím vymeniť SW

Zabezpečenie prenositeľnosťi zvyšuje náklady na vývoj a údržbu produktu.

Prenositeľnosť zákazníci vyžadujú.

Virtualizačná vrstva je programovateľná

Virtualizačná vrstva je programovateľná

Umožňuje ľahko:

  • vytvoriť stroj (prideliť prostriedky),
  • zrušiť stroj,
  • spustiť alebo zastaviť stroj,
  • klonovať alebo presunúť stroj.

Čo je to virtualizácia

Virtualizácia

je vrstva oddeľujúca hosťovský (guest) operačný systém a fyzický hardvér.

+----------------+
| HOST HW and OS |
+----------------+
       ^
       |
+----------------+
| Virtualization |
+----------------+
       ^
       |
+------------------+
| GUEST OS and APP |
+------------------+

Virtuálny počítač

Vytvára oddelený "svet" pre aplikáciu:

  • Virtuálna pamäť,
  • Virtuálny procesor,
  • Virtuálna sieťová a grafická karta, atď.

Kde beží virtualizácia?

Hardvérová virtualizácia - proces beží na virtuálnom procesore. Je možné spúšťať ľubovoľné programy pre ľubovoľnú architektúru aj OS. Je pomalšia.

Paravirtualizácia - proces beží na fyzickom procesore. Nie je možné spúšťať programy pre inú architektúru. Je rýchlejšia. Potrebuje podporu BIOSu.

Virtualizácia na úrovni operačného systému - proces beží vo vyhradenom priestore a využíva služby hostiteľského operačného systému. Nie je možné spúštať programy pre iný operačný sýstém.

Ako spustiť virtuálny stroj?

  • hypervisor
  • monitor virtuálnych strojov
  • manažér kontajnerov

Hypervisor

Virtualizačná vrstva je súčasťou Host OS

   +----------+
   | HOST HW  |--------+
   +----------+        |
         ^             |
         |             |
  +------------+  +---------+
  | Hypervisor |  | Host OS |
  +------------+  +---------+
         ^
         |
+------------------+
| GUEST OS and APP |
+------------------+

napr. VM Ware ESX, Xen, Qemu / KVM, ProxMox

Monitor virtuálnych strojov

Monitor je jedna z aplikácií Host OS

  +------------+  +---------+
  | HOST OS    |- | Host HW |
  +------------+  +---------+
         ^
         |
+------------+
| VM Monitor |
+------------+
         ^
         |
+------------------+
| GUEST OS and APP |
+------------------+

napr. Virtual Box

Manažér kontajnerov

Vrstva hostiteľského operačného systému ktorá vytvára "klietku" v ktorej beží jeden alebo viac procesov.

  • Aplikácia v kontajneri využíva iba jadro Host OS.
  • všetko ostatné je virtualizované tenkou vrstvou.

Manažér kontajnerov

  +------------+  +---------+
  | HOST OS    |- | Host HW |
  +------------+  +---------+
       ^
       |
+---------------------+
|  Container Manager  |
+---------------------+
       ^
       |
    +-----+
    | APP |
    +-----+

Docker

Docker is a set of platform as a service (PaaS) products 
that use OS-level virtualization to deliver software in packages called containers.

Docker Komponenty

  • docker client
  • docker démon
  • image registry

Každý komponent môže bežať na inom stroji. Komponenty spolu komunikujú pomocou aplikačného protokolu.

Docker Komponenty

  +----------+
  | registry |   Docker Hub
  +----------+
       ||         (image)
  +----------+
  |  daemon  |   Host machine
  +----------+
       ||         (protocol)
  +------------+
  | cli client |   Host or manager machine
  +------------+

Docker client

Príkaz 'docker' v príkazovom riadku.

  • beží na ľubovoľnom OS.
  • pomocou vlastného protokolu komunikuje s docker démonom.
  • môžeme ním riadiť démona - kontrolovať a riadiť kontajnery.

Docker démon

  • (väčšinou) beží na Linux OS alebo na Docker Machine.
  • stará sa o bežiace kontajnery, podľa pokynov ich spúšťa alebo zastavuje.

Virtualizácia vs. kontajnerizácia.

Nevýhody virtualizácie

  • Nižšia efektivita
  • Ťažší manažment zdrojov. Operačný systém nevie dynamicky prideľovať prostriedky viacerým virtuálnym strojom. - Dáta a aplikácia nie sú oddelené.

Aj prehliadač je virtuálny stroj

Ako si spustím virtuálny stroj?

na svojom PC

  1. Nainštalujem si monitor virtuálnych strojov
  2. Získam obraz disku virtuálneho stroja
  3. Nakonfigurujem virtuálny stroj (pridelím prostriedky)
  4. Spustím virtuálny stroj

Virtualizácia na klaude

  • cloud.tuke.sk
  • Azure Virtual Machines.
  • Google Compute Engine.
  • Amazon Elastic Compute Cloud.

Zdroje

Reload?