Container-Virtualisierung unter Linux
Übersicht
Dozent |
Prof. Dr. rer. nat. Volker Turau
|
ECTS Leistungspunkte | 2,0 |
Arbeitsaufwand | 60 Stunden insgesamt |
Leistungsnachweis | Vortrag, Mitarbeit |
Zeitraum | Wird nicht mehr angeboten |
Sprache | Deutsch |
Beschreibung
Bei der klassischen Virtualisierung werden auf einem sogenannten Hypervisor virtuelle Maschinen (VM) ausgeführt. Auf jede dieser Maschinen kann dann ein unterschiedliches Betriebssystem installiert werden. Daraus ergeben sich eine Vielzahl von Vorteilen. Die beiden Hauptnachteile dieser Art von Virtualisierungen sind ein hoher Bedarf an Ressourcen (für jede VM muss ein Betriebssystem installiert werden) und die lange Startzeit (die virtuelle Hardware muss starten, dann das Betriebssystem booten und erst danach kann die Applikation starten). Diese Nachteile der klassischen Virtualisierung umgeht die Container-Virtualisierung. In einem Container wird jeweils eine Anwendung mit all ihren Abhängigkeiten verpackt und teilt sich mit allen anderen Containern das Betriebssystem des Rechners. Durch das Speichern der Anwendung mit all ihren Abhängigkeiten sind die verschiedenen Phasen im Lebenszyklus einer Software einfacher handhabbar und können darüber hinaus leichter automatisiert werden. Insbesondere bei der Entwicklung von Cloud-Anwendungen ist eine Container-Virtualisierung heutzutage ohne Alternative. In diesem Seminar wollen wir uns die Umsetzung der Container-Virtualisierung unter Linux näher anschauen. Der Fokus des Seminars liegt dabei nicht beim Erlernen einer der vielen verfügbaren Container-Umgebungen (z.B. Docker, podman, LXC, Kubernetes, ...), sondern in dem Verständnis der dahinter liegenden Konzepten.
Inhalt
Beispiele für Themen sind:
- Namespaces
- Control Groups (cgroups v2)
- Linux Capabilities und Seccomp
- Overlay Dateisysteme
- Open Container Initiative (OCI)
- Container Image Format
- ...