Evolution des serveurs et présentation de Docker

Page 1 sur 33Lecteur de document UniversityLib

Evolution des serveurs et présentation de Docker

Virtualization and Containerization Technologies · notes

Voir tous les documents en systèmes d'exploitation et cloud

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Retour dexp rience sur 10 ans de virtualisation

et pr sentation de Docker

Gauthier Catteau

Ing nieur Syst mes et R seaux

Responsable Infrastructure Syst me de lAcad mie de Lille.

[email protected]

13 f vrier 2014

Journ e Th matique Min2rien

http://www.min2rien.fr/

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Lignes directrices

1 volution des serveurs

2 Comparatif des solutions

3 Pr sentation de Docker

4 Fonctionnement basique de Docker

5 Et ensuite

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Introduction

Voila maintenant plus de 10 ans que nous virtualisons notre infrastructure.

Vmware, Proxmox et maintenant Docker, explication sur cette volution et

d couverte du petit dernier.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

volution des serveurs

Lignes directrices

1 volution des serveurs

volution des serveurs

2 Comparatif des solutions

3 Pr sentation de Docker

4 Fonctionnement basique de Docker

5 Et ensuite

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

volution des serveurs

R partition des serveurs physiques

80

60

40

20

0

Physique

Proxmox

Vmware ESX

2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

volution des serveurs

R partition des serveurs virtuels

400

300

200

100

0

Vmware

OpenVZ

Docker

2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014

2003

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

La solution VMware

La solution Proxmox (Openvz)

Conclusion sur ces 2 solutions

volutions possibles

Lignes directrices

1 volution des serveurs

2 Comparatif des solutions

La solution VMware

La solution Proxmox (Openvz)

Conclusion sur ces 2 solutions

volutions possibles

3 Pr sentation de Docker

4 Fonctionnement basique de Docker

5 Et ensuite

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

La solution VMware

La solution Proxmox (Openvz)

Conclusion sur ces 2 solutions

volutions possibles

La solution Vmware est pour linstant incontournable pour les raisons

suivantes :

Leader du march .

Solution robuste et able.

Migration chaud efcace.

Excellente isolation des VM (NSA ?).

Inconvenients de la solution

Gestion relativement lourde des machines virtuelles compl tes (vmwaretools).

Co t de licence lev par CPU (> mat riel).

N cessit dun SAN pour une utilisation optimum.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

La solution VMware

Publicité

La solution Proxmox (Openvz)

Conclusion sur ces 2 solutions

volutions possibles

La solution Vmware est pour linstant incontournable pour les raisons

suivantes :

Leader du march .

Solution robuste et able.

Migration chaud efcace.

Excellente isolation des VM (NSA ?).

Inconvenients de la solution

Gestion relativement lourde des machines virtuelles compl tes (vmwaretools).

Co t de licence lev par CPU (> mat riel).

N cessit dun SAN pour une utilisation optimum.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

La solution VMware

La solution Proxmox (Openvz)

Conclusion sur ces 2 solutions

volutions possibles

Dans notre cas, Proxmox est une alternative int ressante pour plusieurs

raisons :

Performance proche de la machine physique.

Solution facile mettre en place.

Modication possible des chiers des VM teintes.

Sauvegarde et PRA plus rapides.

Virtualisation par conteneur. D marrage des VM tr s rapide.

Inconvenients de la solution

Migration chaud perfectible.

Pas de snapshot par VM.

Solution exible mais un peu artisanale.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

La solution VMware

La solution Proxmox (Openvz)

Conclusion sur ces 2 solutions

volutions possibles

Dans notre cas, Proxmox est une alternative int ressante pour plusieurs

raisons :

Performance proche de la machine physique.

Solution facile mettre en place.

Modication possible des chiers des VM teintes.

Sauvegarde et PRA plus rapides.

Virtualisation par conteneur. D marrage des VM tr s rapide.

Inconvenients de la solution

Migration chaud perfectible.

Pas de snapshot par VM.

Solution exible mais un peu artisanale.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

La solution VMware

La solution Proxmox (Openvz)

Conclusion sur ces 2 solutions

volutions possibles

Dans quels cas utiliser VMware

Serveurs avec applicatif n cessitant un support de l diteur.

Serveurs ne pouvant tol rer un arr t de production.

Dans quels cas utiliser Proxmox

Services redond s derri re des r partiteurs de charges.

Ou services moins critiques.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

La solution VMware

La solution Proxmox (Openvz)

Conclusion sur ces 2 solutions

volutions possibles

Dans quels cas utiliser VMware

Serveurs avec applicatif n cessitant un support de l diteur.

Serveurs ne pouvant tol rer un arr t de production.

Dans quels cas utiliser Proxmox

Services redond s derri re des r partiteurs de charges.

Ou services moins critiques.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

La solution VMware

La solution Proxmox (Openvz)

Conclusion sur ces 2 solutions

volutions possibles

tude des volutions possibles

Ces deux solutions fonctionnent mais la charge dexploitation reste lev e

pour quatre personnes. Les serveurs virtuels sont livr s dans la journ e,

mais il reste souvent beaucoup de r glages faire apr s livraison.

Do la recherche dune solution :

Facile mettre en Suvre.

Automatisable au maximum.

Identique pour le D veloppement, la Qualif, lExp rimentation et la Production.

De virtualisation applicative.

Bref une solution Cloud.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Docker cest quoi ?

Origine de Docker

Sur quoi fonctionne Docker

LinuX Conteneurs (LXC)

Control Groups et Namespaces

Installation : Ubuntu Linux 12.04.3

Lignes directrices

1 volution des serveurs

2 Comparatif des solutions

3 Pr sentation de Docker

Docker cest quoi ?

Origine de Docker

Sur quoi fonctionne Docker

LinuX Conteneurs (LXC)

Control Groups et Namespaces

Installation : Ubuntu Linux 12.04.3

4 Fonctionnement basique de Docker

5 Et ensuite

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Publicité

Conclusion

Docker cest quoi ?

Origine de Docker

Sur quoi fonctionne Docker

LinuX Conteneurs (LXC)

Control Groups et Namespaces

Installation : Ubuntu Linux 12.04.3

Docker cest quoi ?

Docker est un projet open-source cr pour g n rer rapidement des

conteneurs portables pour toutes sortes dapplications.

Le m me conteneur peut tre utilis pour les d veloppements, les tests, sur

un portable, mis l chelle en production dans une VM, Openstack ou un

cloud public ...

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Docker cest quoi ?

Origine de Docker

Sur quoi fonctionne Docker

LinuX Conteneurs (LXC)

Control Groups et Namespaces

Installation : Ubuntu Linux 12.04.3

Origine et premi re version

Docker est une r criture du code de dotCloud PaaS (Plateform As A Service).

Version dorigine en Python, maintenant r crite en Go.

Cest un projet jeune (janvier 2013), premi re release public 0.1 le 27 mars 2013.

Version 0.8 en f vrier 2014.

Utilis dans plus de 150 projets (OpenStack, CoreOS, Dokku, OpenShift...)

Dans le TOP10-2013 sur 10 millions de projet GitHub.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Docker cest quoi ?

Origine de Docker

Sur quoi fonctionne Docker

LinuX Conteneurs (LXC)

Control Groups et Namespaces

Installation : Ubuntu Linux 12.04.3

Sur quoi est bas Docker ?

LinuX Conteneurs (LXC)

Control Groups et Namespaces

AUFS ou Btrfs (bient t ZFS)

API HTTP client-serveur

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Docker cest quoi ?

Origine de Docker

Sur quoi fonctionne Docker

LinuX Conteneurs (LXC)

Control Groups et Namespaces

Installation : Ubuntu Linux 12.04.3

LinuX Conteneurs (LXC)

LXC permet :

De lancer un linux dans un linux.

Lisolation des processus et de lenvironnement dex cution.

Vu de dedans cest comme une VM.

Vu de dehors les process sex cutent normalement.

Pourquoi des Conteneurs ?

Vitesse : D marrage dans la seconde.

Empreinte : 100-1000 conteneurs par machine. Peu despace disque n cessaire.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Docker cest quoi ?

Origine de Docker

Sur quoi fonctionne Docker

LinuX Conteneurs (LXC)

Control Groups et Namespaces

Installation : Ubuntu Linux 12.04.3

LinuX Conteneurs (LXC)

LXC permet :

De lancer un linux dans un linux.

Lisolation des processus et de lenvironnement dex cution.

Vu de dedans cest comme une VM.

Vu de dehors les process sex cutent normalement.

Pourquoi des Conteneurs ?

Vitesse : D marrage dans la seconde.

Empreinte : 100-1000 conteneurs par machine. Peu despace disque n cessaire.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Docker cest quoi ?

Origine de Docker

Sur quoi fonctionne Docker

LinuX Conteneurs (LXC)

Control Groups et Namespaces

Installation : Ubuntu Linux 12.04.3

Control Groups et Namespaces

Le noyau Linux impl mente des fonctionnalit s permettant de limiter, disoler

et de contr ler les ressources suivantes :

CPU

M moire

I/O Disques

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Docker cest quoi ?

Origine de Docker

Sur quoi fonctionne Docker

LinuX Conteneurs (LXC)

Control Groups et Namespaces

Installation : Ubuntu Linux 12.04.3

Installation : Ubuntu Linux 12.04.3 64bits et suivantes

AUFS support

Le kernel 3.8 et suivants int grent le support LXC et AUFS/Btrfs n cessairent

pour Docker.

Ajout du d p t Docker

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36

A1D7869245C8950F966E92D8576A8BA88D21E9

sudo sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/

sources.list.d/docker.list"

Installation

sudo apt-get update

sudo apt-get install lxc-docker

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Publicité

Fonctionnement basique de Docker

Et ensuite

Conclusion

Commande de base

Mode d tach

Conteneurs vs Images

Dockerle

Annuaire de conteneurs sur index.docker.io

Lignes directrices

1 volution des serveurs

2 Comparatif des solutions

3 Pr sentation de Docker

4 Fonctionnement basique de Docker

Commande de base

Mode d tach

Conteneurs vs Images

Dockerle

Annuaire de conteneurs sur index.docker.io

5 Et ensuite

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Commande de base

Mode d tach

Conteneurs vs Images

Dockerle

Annuaire de conteneurs sur index.docker.io

Le classique Hello World !

T l chargement dune image de base (ubuntu, centos, busybox ...)

$> docker pull ubuntu

Lister les images du syst me

images

$> docker

REPOSITORY

ubuntu

ubuntu

ubuntu

ubuntu

ubuntu

busybox

TAG

12.04

l a t e s t

p r e c i s e

12.10

q u a n t a l

l a t e s t

Afcher "Hello World"

IMAGE ID

8dbd9e392a96

8dbd9e392a96

8dbd9e392a96

b750fe79269d

b750fe79269d

e9aa60c60128

CREATED

9 months ago

9 months ago

9 months ago

9 months ago

9 months ago

10 months ago

VIRTUAL SIZE

128 MB

128 MB

128 MB

175.3 MB

175.3 MB

4.964 MB

$> docker run ubuntu:12.04 echo "hello world"

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Commande de base

Mode d tach

Conteneurs vs Images

Dockerle

Annuaire de conteneurs sur index.docker.io

Mode d tach

Lancer Docker en utilisant le ag -d

$> docker run -d ubuntu sh -c "while true; do echo hello world; sleep1; done"

R cuperer lid du conteneur

$> docker ps

CONTAINER ID

9d55d7d2c88d

IMAGE

ubuntu : 1 2 . 0 4

COMMAND

sh c w h i l e t r u e ; do

CREATED

16 seconds ago

STATUS

Up 15 seconds

Attacher la console au conteneur

$> docker attach <conteneur_id>

Stop/Start/Restart le conteneur

$> docker stop <conteneur_id>

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Commande de base

Mode d tach

Conteneurs vs Images

Dockerle

Annuaire de conteneurs sur index.docker.io

Diff rences entre Conteneurs et Images

Supprimer un chier dune image

$> docker run -d busybox rm /etc/passwd

Le chier est-il toujours l ?

$> docker run busybox cat /etc/passwd

root:x:0:0:root:/root:/bin/zsh

daemon:x:1:1:daemon:/usr/sbin:/bin/sh

Valider la nouvelle image

$> docker ps n=2

IMAGE

CONTAINER ID

busybox : l a t e s t

754b8e58437f

6c49f8cce911

busybox : l a t e s t

$> docker commit 6c49f8cce911 g a u t h i e r / brokenbusybox

COMMAND

c a t

rm / e t c / passwd

/ e t c / passwd

CREATED

16 seconds ago

About a minute ago

STATUS

E x i t 0

E x i t 0

Le chier est supprim dans notre nouvelle image !

$> docker run gauthier/brocken-busybox cat /etc/passwd

cat: cant open /etc/passwd: No such file or directory

Gauthier Catteau

Publicité

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Commande de base

Mode d tach

Conteneurs vs Images

Dockerle

Annuaire de conteneurs sur index.docker.io

Automatiser la cr ation avec les Dockerle

Docker permet dautomatiser la cr ation dimages qui pourront tre ensuite lanc es de multiples fois.

ubuntu:12.04

Cr ation dune image partir de limage ubuntu du d p t Docker.

Lancement de la cr ation avec la commande :

docker build -t repo/image-name chemin/du/DockerfileDir

FROM

MAINTAINER Monsieur Linux

ENV

RUN

ADD

EXPOSE

CMD

DEBIAN_FRONTEND noninteractive

apt-get update ; apt-get -y install nginx

my-vhost /etc/nginx/site-enable/

80

/etc/init.d/nginx start

chaque instruction Docker commit les changements dans une nouvelle image.

Si une image existe avec le m me parent et la m me commande, Docker utilisera limage en cache au lieu

dex cuter de nouveau linstruction.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Commande de base

Mode d tach

Conteneurs vs Images

Dockerle

Annuaire de conteneurs sur index.docker.io

Annuaire de conteneurs sur index.docker.io

T l chargement dune image sur lindex public

$> docker search apache

$> docker pull creack/apache2

Lancement du conteneur et v rication des ports

$> docker run -d creack/apache2

$> docker ps

Mappage des ports du conteneur sur lh te

$> docker run -d -p 8888:80 -p 4444:443 creack/apache2

$> docker ps

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Passage la vitesse sup rieure

Lignes directrices

1 volution des serveurs

2 Comparatif des solutions

3 Pr sentation de Docker

4 Fonctionnement basique de Docker

5 Et ensuite

Passage la vitesse sup rieure

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Passage la vitesse sup rieure

Passage la vitesse sup rieure

Il existe de nombreuses solutions cloud bas es sur Docker.

Flynn (Solution PaaS libre)

Deis (chef, Docker, nginx)

CoreOS (Mini OS avec Docker + etcd)

Openstack Docker (La solution Cloud OpenSource)

Redhat Openshift (La solution Cloud de Redhat)

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Avantages pour les d veloppeurs :

Un environnement propre, s r et portable.

Pas de soucis de d pendances manquantes.

Ex cution de chaque application dans son propre conteneur isol , ce qui permet

une ex cution avec diff rentes versions de biblioth ques.

Automatisation des tests, de lint gration et du packaging.

R duction/suppression des probl mes de compatibilit sur des syst mes

diff rents.

Avantages pour les AdminSys :

Cycle de vie des applications plus efcace, coh rente et reproductible.

Augmentation de la qualit du code produit par les d veloppeurs.

Suppression des incoh rences entre les environnements de d veloppement, de

test et de production.

Meilleure s paration des t ches.

Am lioration consid rable de la vitesse et de la abilit de d ploiement.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Avantages pour les d veloppeurs :

Un environnement propre, s r et portable.

Pas de soucis de d pendances manquantes.

Ex cution de chaque application dans son propre conteneur isol , ce qui permet

une ex cution avec diff rentes versions de biblioth ques.

Automatisation des tests, de lint gration et du packaging.

R duction/suppression des probl mes de compatibilit sur des syst mes

diff rents.

Avantages pour les AdminSys :

Cycle de vie des applications plus efcace, coh rente et reproductible.

Augmentation de la qualit du code produit par les d veloppeurs.

Suppression des incoh rences entre les environnements de d veloppement, de

test et de production.

Meilleure s paration des t ches.

Am lioration consid rable de la vitesse et de la abilit de d ploiement.

Gauthier Catteau

Docker

volution des serveurs

Comparatif des solutions

Pr sentation de Docker

Fonctionnement basique de Docker

Et ensuite

Conclusion

Questions ?

Des questions ?

Gauthier Catteau

Docker