Grundlagen von Cloud und Containern

Welche Kombination ordnet den Linux-Kernelfunktionen, auf denen Container beruhen, nämlich den Namespaces und den cgroups (Control Groups), ihre Aufgaben richtig zu?

  1. ANamespaces: trennen, was ein Prozess sieht (Prozess-IDs, Netzwerk, Mounts usw.); cgroups: begrenzen und erfassen den Verbrauch von Ressourcen wie CPU und Arbeitsspeicher
  2. BNamespaces: begrenzen und erfassen den Verbrauch von Ressourcen wie CPU und Arbeitsspeicher; cgroups: trennen, was ein Prozess sieht (Prozess-IDs, Netzwerk, Mounts usw.)
  3. CNamespaces: starten für jeden Container einen eigenen Kernel, um die Container voneinander zu isolieren; cgroups: erzeugen für jeden Container eine virtuelle CPU und emulieren die Hardware
Antwort und Erläuterung anzeigen

Antwort: A. Namespaces: trennen, was ein Prozess sieht (Prozess-IDs, Netzwerk, Mounts usw.); cgroups: begrenzen und erfassen den Verbrauch von Ressourcen wie CPU und Arbeitsspeicher

Ein Container ist ein gewöhnlicher Prozess, der auf dem Kernel des Hosts läuft und durch zwei Mechanismen isoliert wird. Namespaces teilen Prozess-IDs, Netzwerk, Mounts (die Sicht auf das Dateisystem), Hostnamen usw. in Gruppen auf, sodass die Prozesse in einem Container nur ihren eigenen Teil sehen. cgroups begrenzen die CPU-Zeit und die Speichermenge, die eine Gruppe von Prozessen nutzen kann, und erfassen den Verbrauch. Beides sind Kernelfunktionen; ein Container startet also weder einen eigenen Kernel, noch emuliert er Hardware.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen von Cloud und Containern

  1. Auf einem Linux-Host wird mit Docker ein Container aus einem Image gestartet, das auf einer anderen Distribution als der des Hosts beruht, und darin werden uname -r (zeigt das Release des Kernels) und cat /etc/os-release (zeigt Angaben zur Distribution) ausgeführt. Welche Beschreibung der Ergebnisse ist richtig?
  2. Welche Beschreibung des Verhältnisses zwischen einem Container-Image und einem Container ist richtig?
  3. In einem Container, der aus einem Image gestartet wurde, wird die im Image enthaltene Konfigurationsdatei /etc/app.conf geändert. Was geschieht beim üblichen Speichermechanismus von Docker (etwa overlay2)?
  4. Um das 500 MB große Archiv data.tar.gz zu entpacken, wurde mit dem obigen Dockerfile ein Image gebaut. Obwohl das Archiv nach dem Entpacken im selben RUN gelöscht wurde, blieb das Image um die Größe des Archivs größer. Welche Kombination aus Ursache und Abhilfe ist am besten geeignet?
  5. Fünf Images legen jeweils eine eigene Schicht von 30 MB über dasselbe Basis-Image (120 MB). Komprimierung der Schichten und Platzbedarf der Metadaten werden vernachlässigt. Wie viel Festplattenplatz belegen die Images, wenn alle fünf auf einen Server geholt werden (pull)?