Virtualizacija in kontejnerji pod pokrovom
Matjaž Pančur, UL FRI
Uporabi virtualizacije in kontejnerjev se v računalništvu praktično ne moremo več izogniti. Poleg računalniških oblakov, kjer sta virtualizacija in kontejnerji njihova osnovna gradnika, so se predvsem kontejnerji preselili tudi v sisteme HPC, kjer postajajo nepogrešljivo orodje, ki nam olajša poganjanje aplikacij. Vendar, zakaj samo kontejnerji, ne pa tudi virtualni stroji? In zakaj se v sistemih HPC ne uporablja kontejnerjev Docker? Ko smo ravno pri tem, kakšna je pravzaprav razlika med virtualnim strojem in kontejnerjem, narejenim z ogrodji kot so LXD, Docker, Singularity in drugimi ogrodji kot na primer Podman, Nerdctl. Kakšne so razlike med kontejnerskimi stroji (runtimes) containerd, runc, crun, crio-o? Kje se tu umestijo kontejnerji Kubernetes? Kako se vse to vidi na strežniku, kjer jih poganjamo?
Na seminarju se bomo skupaj potopili globoko v notranjost kontejnerjev in predvsem razjasnili stvari okoli različnih načinov virtualizacije, zakaj je kakšen način boljši od drugega, ter zakaj in kdaj je dobro kakšnega od njih uporabiti v praksi.
Agenda:
- Virtualizacija in različni tipi virtualizacije
- Kontejnerji in kakšen problem rešujejo
- Gradniki (Linux) kontejnerja
- Pregled značilnosti in razlik med različnimi kontejnerskimi ogrodji in stroji (frameworks and container runtimes)
- Docker, LXD/LXC, podman, nerdctl, singularity; containerd, runc, crun...
Zaželena predznanja:
- osnove operacijskih sistemov (veste vsaj osnovne gradnike operacijskega sistema)
- osnove dela v Linux ukazni vrstici (Bash, SSH)
- osnove delovanja rač. omrežij