Jeremy’s IT Lab lecture video:

Day 54 (2) - Containers


Commands

No Commands :)


Container Info

Virtual Machines

  • VMs allow multiple OS’s to run on a single physical server.
    • The OS in each VM can be the same or different.
    • Bins/Libs are the software libraries/services needed by the apps running in each VM.
    • A VM allow its app/apps to run in an isolated environment, separate from the apps in the other VMs.
    • VMs are easy to create, delete, move and etc. They can easily saved and moved between different physical servers.

  • A Hypervisor is used to manage and allocate hardware resources to each VM.
    • A Type 1 hypervisor (aka Native or Bare-metal) is the type of hypervisor which runs directly on top of the hardware.
      • They are widely used in data center environments.
    • A Type 2 hypervisor (aka Hosted) run as a program on an operating system called a Host OS like a regular computer program.
      • They can be used to run a virtual network lab on your PC using Cisco Modeling Labs.
Type 1 Hypervisor VisualizedType 2 Hypervisor Visualized

Containers

Containers are software packages that contain an app and all its required dependencies (Bins/Libs) for the contained app to run.

  • Containers run on a Container Engine (ie. Docker Engine), which is run on a host OS.
  • Containers are lightweight and include only the dependencies required to run the specific app.
  • A Container Orchestrator is a software platform automating the deployment, management, scaling etc. of containers. These are used to operate large-scale systems (ie. Microservices) can require thousands of containers.
    • Kubernetes is the most popular container orchestrator.
    • Docker Swarm is Docker’s container orchestration tool.
Container Visualized

Virtual Machines VS Containers

  1. Virtual Machines:
    • Can take minutes to boot up as each VM runs its own OS.
    • Take up more disk space. (in gigabytes)
    • Use more CPU/RAM resources. (each VM must run its own OS)
    • Portable and can move between physical systems running the same hypervisor.
    • More isolated because each VM runs its own OS.
  2. Containers:
    • Can boot up in milliseconds.
    • Take up very little disk space.
    • Use fewer CPU/RAM resources. (Shared OS)
    • Portable as they are smaller, faster to boot up, and Docker containers can be run on nearly any container service.
    • Less isolated because they all run on the same OS instance; if the OS crashes, all containers running on it are effected.

Jeremy’s IT Lab előadásvideó:

54. Nap (2) - Konténerek (Containers)


Parancsok

Nincsenek parancsok :)


Konténer Információk

Virtuális Gépek (Virtual Machines - VMs)

  • A VM-ek lehetővé teszik több operációs rendszer egyidejű futtatását egyetlen fizikai szerveren.
    • Az egyes VM-ekben futó OS lehet azonos vagy teljesen eltérő típusú (pl. Linux és Windows vegyesen).
    • A Bins/Libs azok a bináris fájlok, szoftveres könyvtárak és függőségek, amelyekre az adott VM-ben futó alkalmazásoknak szükségük van.
    • A VM teljesen izolált környezetet biztosít a futó alkalmazások számára a többi virtuális géptől.
    • A VM-eket rendkívül egyszerű létrehozni, törölni, menteni és átmozgatni különböző fizikai szerverek között.

  • A Hypervisor felelős a hardveres erőforrások menedzseléséért és elosztásáért az egyes VM-ek felé.
    • A Type 1 hypervisor (más néven Native vagy Bare-metal) közvetlenül a fizikai szerver hardverén fut.
      • Széles körben használják vállalati adatközponti környezetekben.
    • A Type 2 hypervisor (más néven Hosted) egy meglévő operációs rendszeren (Host OS) belül fut alkalmazásként.
      • Használható például virtuális hálózati laborkörnyezet (pl. Cisco Modeling Labs vagy GNS3/EVE-NG) futtatására a saját számítógépeden.
Type 1 Hypervisor SzemléltetéseType 2 Hypervisor Szemléltetése

Konténerek (Containers)

A konténerek (containers) olyan szoftvercsomagok, amelyek magát az alkalmazást és annak minden szükséges függőségét (Bins/Libs) egyetlen önálló egységbe csomagolják össze.

  • A konténerek egy Container Engine-en (konténermotor, pl. Docker Engine) futnak, amely egy közös Host OS rendszermagján (kernel) osztozik.
  • A konténerek rendkívül pehelysúlyúak (lightweight), mivel csak a konkrét alkalmazás futtatásához szükséges komponenseket tartalmazzák, teljes operációs rendszert nem.
  • A Container Orchestrator (konténer-vezénylő / orkesztrátor) egy olyan szoftverplatform, amely automatizálja a konténerek telepítését, menedzselését, skálázását, terheléselosztását és hálózatkezelését. Ezek nélkülözhetetlenek a nagyméretű rendszerek (pl. mikroszolgáltatás / microservices architektúra) üzemeltetéséhez, ahol akár több ezer konténer futhat.
    • A Kubernetes (K8s) a legelterjedtebb és legnépszerűbb konténer-orkesztrátor.
    • A Docker Swarm a Docker saját beépített orkesztrációs eszköze.
Konténer Architektúra Szemléltetése

Virtuális Gépek vs Konténerek (Virtual Machines vs Containers)

  1. Virtuális Gépek (Virtual Machines):
    • A rendszerindítás percekig is eltarthat, mivel minden egyes VM egy teljes operációs rendszert bootol be.
    • Több lemezterületet foglalnak (jellemzően gigabájtokban mérhető).
    • Több CPU és RAM erőforrást emésztenek fel (minden VM-nek saját különálló OS-t kell futtatnia).
    • Hordozhatók (portábilisek) az azonos típusú hipervizort futtató fizikai szerverek között.
    • Erősebb izolációt és szeparációt biztosítanak, mivel mindegyik VM saját dedikált operációs rendszerrel és kernellel rendelkezik.
  2. Konténerek (Containers):
    • Ezredmásodpercek (milliszekundumok) alatt elindulnak.
    • Nagyon kevés lemezterületet igényelnek (megabájtokban mérhető).
    • Kevesebb CPU és RAM erőforrást fogyasztanak (közös Host OS kernelt használnak).
    • Kiválóan hordozhatók: kisebb méretűek, azonnal indulnak, és egy Docker-konténer szinte bármilyen konténerszolgáltatáson és felhőben futtatható.
    • Kevésbé izoláltak, mint a VM-ek, mivel osztoznak a gazda operációs rendszer kerneljén; ha a Host OS összeomlik, az összes rajta futó konténer leáll.