Příprava experimentálního prostředí

Kontejnery

Co jsou kontejnery a k čemu nám budou

  • Kontejnery jsou virtualizací userspacu, který ale běží s použitím jádra (kernelu), který používá "hypervisor" nebo lépe hostitel kontejnerů.
  • Kontejnery jsou méně náročné na prostředky (CPU, operační paměť a diskový prostor)
  • Kontejnery sice přinesou trochu složitosti navíc, ale hned na začátku si tak předvedeme použití zvlášť mocného nástroje - Linux network namespaces (nebo jen namespaces).
  • Každý kontejner má oddělené vlastní prostředí - namespace pro procesy, operační paměť, oddělený filesystém (to funguje podobně, jako chroot) a hlavně vlastní namespace pro síťový stack.
  • V neposlední řadě má praktický smysl toto znát - namespaces se běžně používají na serverech jako "lehká" virtualizace LXC resp. LXD a také jako spodní vrstva Dockeru.

Protože mají kontejnery oddělené síťové stacky, je nutné mít možnost kontejnery spojit mezi sebou - například pokud je v jednom kontejneru databázový server a v druhém aplikace, která DB servery používá. A pak je také potřeba umět kontejnery propojit s vnějším světem. To jde udělat několika způsoby.

Odkazy: