Operating-system-level virtualization

10:00 bis 11:00 in Raum V1

Christian Brauner

Hands-on Einführung in operating-system-level virtualization.

  1. Technische Grundlagen: Implementierung und Möglichkeiten im/des Kernels:
    • Wie funktionieren cgroups?
    • Was kann man mit ihnen machen?
    • Was ist namespace isolation?
    • Was sind linux capabilities?
  2. Use-case 1 (Workflow):
    • Wie konfiguriere und nutze ich low-level container virtualization tools wie lxc, für software development?
    • Was sind die Vorteile?
  3. Use-case 2 (Sandboxing-Security):
    • Operating-system-level virtualization zum sandboxing proprietärer software mit grafischen output, GPU-access (Hardware access auf dem Host im allgemeinen) (z.B. Google Chrome im Container)
    • Einführung in unpriviligierte Container, die user namespaces nutzen

Vorwissen

  • Umgang mit dem Terminal und den grundlegenden Tools: chmod, chown, sed etc.
  • C-basics (wirklich wenig)
  • basic shell-scripting in sh und bash
  • git

Vorbereitung

  • Kernel-Version >= 3.13 (ausgenommen 4.0.2)
  • lxc >= 1.1.0
  • lxcfs 0.7
  • cgmanager 0.36
  • git

“We’re trying to extend our interfaces to the point that you can safely run code that you traditionally absolutely could not as root.” Linus Torvalds, on namespaces and container security. (Linux Kernel Developer Panel)