Docker und Virtualisierung Container Use Cases für eine isolierte, performante Zukunft



Ähnliche Dokumente
Docker Containervirtualisierung leicht gemacht

Containisierung von Java Apps mit Docker

The linux container engine. Peter Daum

Brownbag Session Grundlagen Virtualisierung Von VM s und Containern

Calogero Fontana Fachseminar WS09/10. Virtualisierung

Continuous Delivery mit Docker

» Hyper-V Best Practice Microsofts Virtualisierung professionell einsetzen

LinuX-Container. Erkan Yanar. 1. März Erkan Yanar () LinuX-Container 1. März / 27

Anwendungsvirtualisierung in Containern mit Docker

Private IaaS Cloud mit OpenStack. Sebastian Zielenski Linux/Unix Consultant & Trainer B1 Systems GmbH zielenski@b1-systems.de

Virtualisierung Linux-Kurs der Unix-AG

Virtual Machines. Peter Schmid Hochschule für Technik Zürich Master of Advanced Studies, Informatik

Proseminar Technische Informatik A survey of virtualization technologies

Virtuelle Maschinen. Serbest Hammade / Resh. Do, 13. Dezember 2012

ProSeminar Speicher- und Dateisysteme

Dynamische Änderung von Ressourcen in OpenStack

Virtual Machines. Peter Schmid Hochschule für Technik Zürich Master of Advanced Studies, Informatik

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Virtual Elastic Services

Docker. Lass mal containern Julian mino GPN

Workshop: Eigenes Image ohne VMware-Programme erstellen

Technical Note 0201 Gateway

Open Source Virtualisation

Step by Step Benutzerverwaltung unter Novell. von Christian Bartl

Laborübung - Verwalten von virtuellem Speicher in Windows 7

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Installations Guide für YAJSW und DTLDAP

owncloud Unternehmensdaten sicher in eigener Hand

Virtualisierung. Zinching Dang. 12. August 2015

IT-Sachverständigen-Gemeinschaft. Virtualisierungstechnologien aus forensischer Sicht in Kempten,

Safeterms.de AGB Update Schnittstelle gambio Shopsoftware

Tutorial: Erstellen einer vollwertigen XP Home CD aus der EEE 901 Recover DVD

Vorstellung - "Personal Remote Desktop" für (fast) alle Hardwareplattformen und Betriebssysteme

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke

Windows Server 2008 (R2): Anwendungsplattform

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Ausrollen von Multi-Tier-Applikationen mit Docker

Installation und Aktualisierung der VMware-Tools

Proxmox VE - mit OpenSource Virtualisierung leicht gemacht

Anleitung: XOS Installation ohne XQAND USB Stick

KASPERSKY SECURITY FOR VIRTUALIZATION 2015

Version Deutsch

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

TERRA CLOUD. TERRA NAS Hybrid Lösung

INHALT. Troubleshooting Netzwerkinstallation

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

Ontrack EasyRecovery 11 Neue Funktionen. S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion

VIDEO ADAPTER USB 2.0 AUF HDMI

How-to: Webserver NAT. Securepoint Security System Version 2007nx

VMware vsphere Client

Cloud Computing mit OpenStack

XEN Virtualisierung und mehr

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt.

Agenda. Ziel Problematik OS-Installation Softwareverteilung Inventarisierung Stufenplan

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG

Wifiway auf einer VMware Workstation auf einem Windows Rechner anwenden & VM Workstation installieren

Herbstsemester cs106 Informatiklabor Teil 4: Partitionierung & Linux Installation. P.Huber@stud.unibas.ch

Ihr Ideen- & Projektmanagement-Tool

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

Btfs das Dateisystem der Zukunft?

USB-ZU-SERIELL-KONVERTER

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

teamsync Kurzanleitung

So wird Ihr Computer mobil: Mit Paragon Go Virtual und VMware Player

XEN Performance. Projektpraktikum Informatik. Arne Klein Arne Klein () XEN Performance / 25

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

RIS Abbild mit aktuellen Updates

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Enterprise Control Center. Systemvoraussetzungen V2.1

Die Backup-Voreinstellungen finden Sie in M-System Server unter dem Reiter "Wartung".

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

3 System Center Virtual Machine Manager 2012

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

HBF IT-Systeme. BBU-BSK Übung 2 Stand:

Version Deutsch

Netzwerkversion PVG.view

Print2CAD 2017, 8th Generation. Netzwerkversionen

B12-TOUCH VERSION 3.5

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim,

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

Whitepaper. Produkt: combit Relationship Manager. combit Relationship Manager und Terminalserver. combit GmbH Untere Laube Konstanz

Leitfaden E-Books Apple. CORA E-Books im ibook Store kaufen. Liebe Leserinnen und Leser, vielen Dank für Ihr Interesse an unseren CORA E-Books.

BENUTZERHANDBUCH FHD FORMATTER SOFTWARE. Rev. 105/Mac

Verwenden der Option Laufzettel

WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE

Erläuterung des technischen Hintergrundes des neues RIWA GIS-Zentrums

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol

Anleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand:

Anwenden eines Service Packs auf eine Workstation

Transkript:

Docker und Virtualisierung Container Use Cases für eine isolierte, performante Zukunft CommitterConf 2015, Essen 10. November 2015 Christian Baumann Linux Consultant B1 Systems GmbH baumann@b1-systems.de B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development

Einleitung Docker, OpenStack B1 Systems GmbH Docker und Virtualisierung 2 / 34

Docker? B1 Systems GmbH Docker und Virtualisierung 3 / 34

OpenStack? B1 Systems GmbH Docker und Virtualisierung 4 / 34

Typen von Virtualisierung OS-Virtualisierung Emulation Hypervisor-Virtualisierung Typ 1 Typ 2 Paravirtualisierung B1 Systems GmbH Docker und Virtualisierung 5 / 34

Virtualisierung Timeline 1979 Unix chroot Syscall 1990s Xenoserver Research Cambridge 1999 VMware Workstation 1.0 2001 VMware ESX 1.0 2002 Xen OpenSource 2003 Xen 1.0 2006 Amazon EC2 2007 KVM im Linux Kernel 2008 Rackspace Cloud 2008 LXC in Linux Kernel 2013 Docker B1 Systems GmbH Docker und Virtualisierung 6 / 34

Service-Pyramide B1 Systems GmbH Docker und Virtualisierung 7 / 34

The Big Picture B1 Systems GmbH Docker und Virtualisierung 8 / 34

B1 Systems GmbH Docker und Virtualisierung 9 / 34

Virtualisierung Eigenschaften maximale Isolation vollwertige Hardware-Umgebung Bereitstellungszeit: 5-30 Minuten Größe: GBs Performance-Overhead durch Hypervisor Management-Overhead B1 Systems GmbH Docker und Virtualisierung 10 / 34

Definition einer VM SLES12.xml <domain type= kvm > <name>sles12</name> <uuid>1b9661f5...</uuid> <title>sles12_prod_vm</title> <memory unit= KiB >1048576</memory> <currentmemory >1048576</currentMemory> <type arch= x86_64 >hvm</type> <boot dev= hd />... <disk type= file device= disk > <source file= SLES12_PROD.qcow2 />... <interface type= network > <mac address= 52:54:00:bc:d7:59 />... <timer name= rtc tickpolicy= catchup /> <timer name= pit tickpolicy= delay /> <timer name= hpet present= no /> B1 Systems GmbH Docker und Virtualisierung 11 / 34

LXC LinuX Containers LXC APP Container: 1 Prozess direkt vom Host kaum Isolation Bereitstellung: sofort Größe: ~0 Performance: nativ Overhead: ~0 LXC OS Container: Init Prozess o.ä. gute Isolation Bereitstellung: nativ Größe: MBs Performance: nativ Overhead: gering B1 Systems GmbH Docker und Virtualisierung 12 / 34

Definition LXC APP Container: <domain type= lxc > <name>sh</name> <uuid>58f081cd-09f9-4a4a-9f37-5d3bc687bf53</uuid> <memory unit= KiB >908288</memory> <os> <type>exe</type> <init>/bin/sh</init> </os>... Definition LXC OS Container: <os> <type>exe</type> <init>/sbin/init</init> </os>... <filesystem type= mount accessmode= passthrough > <source dir= /srv/lxc-sles12 /> <target dir= / /> </filesystem> B1 Systems GmbH Docker und Virtualisierung 13 / 34

Docker Eigenschaften Applikationsfokus: Build, Ship and Run Applications nutzt Container-Technologien (LXC/libcontainer) gute Isolation der Container Bereitstellung: Sekunden Minuten Größe: MBs B1 Systems GmbH Docker und Virtualisierung 14 / 34

Definition einer Docker-App: FROM debian:latest RUN apt-get install -y emacs RUN apt-get install -y apache2 EXPOSE 80 ADD www /var/www/site CMD /usr/sbin/apache2ctl -D FOREGROUND build und run der Docker-App: $ docker build -t baumann/myapache. $ docker run -P -d baumann/myapache B1 Systems GmbH Docker und Virtualisierung 15 / 34

Docker Layered Images build eines Docker Layered Image: $ docker build -t baumann/myapache Uploading context 10.24 kb Uploading context Step 1 : FROM debian ---> bbba202fe96b Step 2 : CMD apt-get install emacs ---> Using cache ---> 31182097be13 Step 3 : CMD apt-get install ap.. ---> Using cache ---> 2a5ffc17324d... Successfully built 2a5ffc17324d B1 Systems GmbH Docker und Virtualisierung 16 / 34

B1 Systems GmbH Docker und Virtualisierung 17 / 34

Docker Build, Ship and Run Applications B1 Systems GmbH Docker und Virtualisierung 18 / 34

Container Execution Environments Docker kann derzeit drei Execution Driver für die Erstellung von Containern nutzen: LXC bewährte leichtgewichtige Prozessvirtualisierung im Linux-Kernel Libcontainer neue Eigenentwicklung von Docker zur Nutzung der Kernel-Features libvirt-lxc LXC-Treiber mittels libvirt Libcontainer ist Default seit Version 1.0 Ein einzelner Kernel sorgt für die Limitierung und Isolation der Ressourcen. Emulation von Hardware entfällt Performance-Overhead wird minimiert B1 Systems GmbH Docker und Virtualisierung 19 / 34

B1 Systems GmbH Docker und Virtualisierung 20 / 34

Linux Containers (LXC) leichtgewichtiger Virtualisierungsmechanismus (Prozessvirtualisierung) mit modularem Design verwaltet Ressourcen und Prozessgruppen voneinander isoliert in so genannten Containern nutzt vorhandene Kernel-Features wie Capabilities, Control Groups und Namespaces chroot on steroids (http://lxc.sourceforge.net) seit 2.6.29 Teil des Upstream Kernels (und damit aller gängigen Distributionen) freie Software (größtenteils GNU-LGPL-Lizenz) B1 Systems GmbH Docker und Virtualisierung 21 / 34

libcontainer Go-Implementation, um Linux-Kernel-Namespaces ohne weitere Abhängigkeiten für Container zu nutzen vollständig unabhängig von LXC verwaltet als Teil von Docker die nötigen Kernel-Features: Capabilities Control Groups Namespaces Apparmor-/SElinux-Profile Netzwerkschnittstellen Firewall-Regeln B1 Systems GmbH Docker und Virtualisierung 22 / 34

Capabilities teilen die Rechte eines privilegierten Benutzers (root) in bestimmte Teilbereiche auf können für unterschiedliche Prozesse individuell gesetzt werden geringere Gefahr eines Missbrauchs von Rechten da Container = Prozesse besteht die Möglichkeit, bestimmte Rechte innerhalb eines Containers einzuräumen minimieren Wechselwirkungen (z. B. beim Mounten des root-dateisystems mit read only beim Herunterfahren eines Containers) B1 Systems GmbH Docker und Virtualisierung 23 / 34

CGroups fassen Prozesse in einer hierarchischen Struktur zusammen. ermöglichen es, den Zugriff dieser Prozesse auf Ressourcen zu beschränken oder zu unterbinden und so die Nutzung dieser Ressourcen zu limitieren. Typische Ressourcen sind Prozessoren, Arbeitsspeicher, Netzwerkressourcen oder Kernel Namespaces. Die hierarchische Struktur ermöglicht es, Eigenschaften von Subsystemen auf mehreren Ebenen zu unterteilen. Zu jeder dieser Ebenen lässt sich die Nutzung der möglichen Ressourcen weiter einschränken. Prozesse (Container) lassen sich dann gezielt in die Tasklist der betreffenden CGroup aufnehmen. B1 Systems GmbH Docker und Virtualisierung 24 / 34

Chroot Funktion unter Unix-Systemen, um im laufenden System ein neues Rootverzeichnis zuzuweisen primär für das Aufsetzen virtueller Umgebungen entwickelt einfache Möglichkeit, nicht vertrauenswürdige Programme zu isolieren (aka. Sandbox ) einfacher Jail-Mechanismus aus dem aber durchaus ausgebrochen werden kann Prozesse im Chroot-Verzeichnis können nicht mehr auf Dateien außerhalb dieses Verzeichnisses zugreifen Programm muss im Chroot-Verzeichnis eine komplette Umgebung vorfinden (Platz für temporäre Dateien, Konfigurationsdateien, Programmbibliotheken,... ) keine Ressourcen-Limitierung B1 Systems GmbH Docker und Virtualisierung 25 / 34

Kernel Namespaces Integration von Namespaces im Kernel mit Version 2.6.19 Namespaces helfen, Prozesse voneinander zu isolieren mögliche Eigenschaften zum Definieren eines Namensraumes: ipc System-V-Interprozess-Kommunikation (IPC) uts Hostname mnt Mountpoints und Dateisysteme pid Prozesse net Netzwerk-Stack user Benutzer (UIDs) B1 Systems GmbH Docker und Virtualisierung 26 / 34

Bestandteile Das Docker-Universum B1 Systems GmbH Docker und Virtualisierung 27 / 34

Definition einer Docker-App: FROM debian:latest RUN apt-get install -y emacs RUN apt-get install -y apache2 EXPOSE 80 ADD www /var/www/site CMD /usr/sbin/apache2ctl -D FOREGROUND build und run der Docker-App: $ docker build -t baumann/myapache. $ docker run -P -d baumann/myapache B1 Systems GmbH Docker und Virtualisierung 28 / 34

Docker Layered Images build eines Docker Layered Image: $ docker build -t baumann/myapache Uploading context 10.24 kb Uploading context Step 1 : FROM debian ---> bbba202fe96b Step 2 : CMD apt-get install emacs ---> Using cache ---> 31182097be13 Step 3 : CMD apt-get install ap.. ---> Using cache ---> 2a5ffc17324d... Successfully built 2a5ffc17324d B1 Systems GmbH Docker und Virtualisierung 29 / 34

Images, Container und Registries Docker Images Read-Only-Templates Basis für Container Docker Container wird auf Basis eines Image und Dockerfile erzeugt hält zur Laufzeit die Änderungen vor (Read-/Write-Layer) Änderungen können in einem neuen Image übernommen ( committed ) werden. Docker Registries Image Repository privat und öffentlich zentrale Ressource: Docker Hub B1 Systems GmbH Docker und Virtualisierung 30 / 34

Bestandteile Die Docker-Engine Die Docker Engine besteht aus zwei Teilen: Server Daemon für den Serverprozess zur Verwaltung der Container. Client Client zur (Fern-)Steuerung des Daemons. B1 Systems GmbH Docker und Virtualisierung 31 / 34

Docker Projekte Docker ist kollaborativ, modular und erweiterbar: Atomic atomar aufgebautes Hostsystem für Docker-Container CoreOS minimales Linux als Container-Betriebssystem Machine Docker Rollout Werkzeug Swarm nativer Docker Cluster Compose Multi Tier Applikations Rollout boot2docker Docker auf MacOS und Windows Packer Erstellung fertiger Images mittels Templates... B1 Systems GmbH Docker und Virtualisierung 32 / 34

Docker und OpenStack Docker im OpenStack Kontext: novadocker Docker als Backend in Nova heat docker ressource Docker Einbindung in Heat Dockenstack Devstack auf Docker Kolla OpenStack in Docker Magnum Container Orchestration in OpenStack... B1 Systems GmbH Docker und Virtualisierung 33 / 34

Vielen Dank für Ihre Aufmerksamkeit! Bei weiteren Fragen wenden Sie sich bitte an info@b1-systems.de oder +49 (0)8457-931096 B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development