Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
-
Upload
bild-gmbh-co-kg -
Category
Software
-
view
106 -
download
2
Transcript of Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container in BetriebErgebnisse der Validierung Docker vs. LXC
Alexander Kuhn (BILD GmbH)
08.06.2015
Vorüberlegungen bei bild.de
2
▪ Einheitliche Systemstruktur (CentOS7)▪ Viele kleine und große Services ca. 140 verschiedene▪ Insgesamt fast 400 Dienste▪ Möglichst einheitliche Umgebungen (lokal, Dev, Stage, Prod)▪ Wir wollen möglichst schnell und unabhängig eigene Services einrichten▪ Eingesetzte Technologie soll guten (Community-) Support haben▪ Bereits bei vergleichbaren Firmen im Einsatz sein
Container Grundlagen
3
Virtuelle Maschinen Container
Hardware
Host-Betriebssystem (Kernel Module)
Virtual Maschine Monitor
Virtuelle Maschine
Gast-Betriebsystem
Anwendungen
Anwendungen
Hardware
Host-Betriebssystem Linux Kernel
Management Interface
Namespaces cgroups SELinux
Container ContainerContainer
Linux Container Grundlagen
4
Namespaces (Isolierung)
▪ IPC isoliert die System V inter-process communication ▪ Network isoliert Netzwerk devices, stacks, ports, etc. ▪ Mount isoliert das Filesystem Layout▪ PID isoliert die Prozesse▪ User isoliert Benutzer IDs▪ UTS erlaubt die Änderung des hostnames
▪ Abstraktion der globalen System Resourcen
Linux Container Grundlagen
5
Cgroups (resource capping)
▪ CPU (limits sets/shares/scheduler)▪ RAM (limits memory/swap)▪ Block IO▪ Alle anderen Linux capabilities▪ Prozess
▪ Isolierte zur Verfügung Stellung der Resourcen▪ Kontrolle▪ Protokolierung
keine Hardware Virtualisierung
6
▪ Zuviele Features die wir nicht benötigen▪ Live Migration, Mandanten Fähigkeit, Storage- und Netgzwerkvirtualisierung▪ Wir benötigen keine verschiedenen Betriebssysteme▪ Es ist sehr kostenintensiv▪ Zusätzliche Komplexitätsschicht die Debugging und Fehlersuche erschwert
Entscheidung für Container
7
▪ Grundlegend im Linux Kernel integriert▪ Leichtgewichtig ohne viel Resourcen overhead▪ Schnell zu erstellen und zu entwickeln▪ Resourcen Kontrolle/ Limitierung▪ Prozess Isolierung▪ Image Management▪ Einfache Handhabung▪ Keine große zusätzliche Infrastruktur
Entscheidung für Container
8
„This is chroot() on steroids“
Docker vs. LxC
9
▪ Grundlegend im Kernel integriert▪ Verschiedene Interfaces▪ Kernel Features schon lange verfügbar▪ Unterstützt vollständiges Init▪ Nachteile:▪ In CentOS nur per libvirt▪ Manuelles compilieren von Tools▪ Wird in Ubuntu/Debian am besten unterstützt
▪ Bietet alle Funktionen von LxCPlus:▪ Image Management▪ Image Registry (Speicherplatz)▪ Image Versionierung▪ Einfaches Tooling▪ Große Community▪ Unterstützt von allen Distributionen
LxC Docker
Docker Live Demo
10