0% ont trouvé ce document utile (0 vote)
38 vues37 pages

Cours Virualisation

Transféré par

sbeimaissaa
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues37 pages

Cours Virualisation

Transféré par

sbeimaissaa
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Virtualisation et conteneur

Réalisé par

Ali KOTTI : maitre-assistant en Télécommunications

ISSAT Gafsa 3 LISI Rx et IoT


Département Informatique et Télécommunications

Octobre 2024

. . . .... .... .... . . . . .


Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

1 Introduction

2 Domaines d’application

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
2 / 37 2 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Introduction

Introduction
1 Introduction
• Comprendre les principes et les enjeux de la virtualisation
• Etre capable de déployer une solution de virtualisation
• Découvrir les techniques et outils réalisés pour la virtualisation
amenant au déploiement de plateformes facilitant l’intégration
et l’administration de services
2 Savoir de références étudiés
• Type de virtualisation (serveur, application, réseau)
• Outil de virtualisation (hyperviseur, conteneurs,...)
• Architecture virtualisé

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
3 / 37 3 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Introduction

Que veut dire virtualiser?


1 Proposer par l’intermédiaire d’une couche d’abstraction
proche du matériel, une vue multiple d’un matériel unique
2 Ensemble des technologies matérielles et/ou logicielles qui
permettent de faire fonctionner plusieurs systèmes
d’exploitation et/ou plusieurs applications sur une même
machine, séparément les uns des autres, comme s’ils
fonctionnaient sur des machines physiques distinctes.

Analogie avec les processeurs⇒virtualiser=augmenter les


coeurs
• Cadence de fonctionnement maximale
• Naissance de multicoeurs


• plusieurs coeurs travaillant en parallèle
• Problème:
. . . . . . . . . . . . . . . . . . . .
échange d’informations . . entre
. . . . .les
. . coeurs
. . . . . . . . . . .

Ali KOTTI
4 / 37 4 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Avantages de la virtualisation

• Une meilleure exploitation des ressources


• Installation, déploiement et migration simple
• Economie sur le matériel et économie d’énergie.
• Des coûts réduits
• Sécurisation
• Diminution des risques
• allocation dynamique

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
5 / 37 5 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Fonctionnement de la virtualisation
• C est qu au lieu d avoir un serveur avec un système d
exploitation faisant tourner une ou plusieurs application(s), on
préférera mutualiser plusieurs serveurs virtuels depuis un
serveur physique grâce à un logiciel nommé l hyperviseur. L
hyperviseur permet d émuler intégralement les différentes
ressources matérielles d’un serveur physique (tels que l’unité
centrale, le CPU, la RAM, le disque dur, carte réseau etc ...),
et permet à des machines virtuelles de les partager.
• Ainsi ces machines virtuelles nommées aussi VM (Virtual
Machine) bénéficieront de ressources matérielles selon leurs
besoins (par exemple plus de puissance processeur et plus de
mémoire vive mais avec moins d espace disque). L’avantage
c’est qu’il est possible de modifier les ressources physiques de
ces VMs en quelques clics. De plus elles possèdent leur propre
système d exploitation ainsi que leurs propres applications.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
6 / 37 6 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Mots clés et terminologie

• Système hote → host


• l’OS de l’ordinateur principal

• Système invité → guest


• l’OS installé au sein d’une machine virtuelle

• Machine virtuelle → Virtual machine (VM)


• un ordinateur virtuel qui utilise un système invité

• Ordinateur virtuel aussi appelé


• Serveur privé virtuel→ Virtual Private Server(VPS)
• Environnement virtual → Virtual Environnement (VE)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
7 / 37 7 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

1 Introduction

2 Domaines d’application

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
8 / 37 8 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Domaines d’application de la virtualisation

Différents domaines - D’un haut niveau à un bas niveau


• Virtualisation d’une application
• Le contexte d’éxécution
• Virtualisation des données
• Fédérer des bases de données distribuées et hétérogènes
• Utilisation des logiciels Middleware fournissant un point
d’accès unique
• Virtualisation d’un poste de travail
• Hébergement sur un serveur Virtual Desktop Infrastructure
• Virtualisation d’un serveur
• Machine virtuelle, Conteneur
• Virtualisation du réseau
• Virtual Local Area Network
• Virtualisation du stockage . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
9 / 37 9 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Hyperviseur
• Un hyperviseur est un logiciel qui crée et exécute des
machines virtuelles. Également appelé moniteur de machine
virtuelle, l’hyperviseur isole le système d’exploitation et les
ressources des machines virtuelles, dont il permet la création
et la gestion.
• Lorsqu’il est utilisé en tant qu’hyperviseur, le matériel
physique est appelé hôte, tandis que toutes les machines
virtuelles qui utilisent ses ressources sont appelées invités.
• L’hyperviseur traite les ressources (processeur, mémoire,
stockage) sous la forme d’un pool qu’il est facile de réallouer
entre les invités existants et les nouvelles machines virtuelles.
• L’hyperviseur distribue à chaque machine virtuelle les
ressources qui ont été allouées et gère la planification des
ressources des machines virtuelles en fonction des ressources
physiques. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
10 / 37 10 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Hyperviseur

• Le matériel se charge toujours de l’exécution, de sorte que le


processeur continue d’exécuter les instructions demandées par
les machines virtuelles, par exemple, tandis que l’hyperviseur
gère la planification.
• Différents systèmes d’exploitation peuvent s’exécuter en
parallèle et partager les mêmes ressources matérielles
virtualisées avec un hyperviseur. Il s’agit là d’un avantage clé
de la virtualisation. Sans cette technologie, un seul système
d’exploitation peut s’exécuter sur le matériel.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
11 / 37 11 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Hyperviseur

Définition d’un hyperviseur


1 hyperviseur de type 1 est un hyperviseur s exécutant
directement sur une plateforme matérielle. Également appelés
hyperviseurs natifs ou bare metal, les hyperviseurs de type 1
s’exécutent directement sur le matériel de l’hôte pour gérer
des systèmes d’exploitation invités. Ce type d’hyperviseur
remplace le système d’exploitation hôte et planifie les
ressources des machines virtuelles directement sur le matériel.
Ces hyperviseurs sont les plus couramment utilisés dans les
datacenters d’entreprise ou d’autres environnements basés sur
un serveur.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
12 / 37 12 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Hyperviseur

Définition d’un hyperviseur


1 hyperviseur de type 2 Également appelés hyperviseurs
hébergés, les hyperviseurs de type 2 s’exécutent sur un
système d’exploitation traditionnel en tant que couche
logicielle ou application. Il utilise les services fournis par le
système d exploitation hôte pour gérer de la mémoire et l
ordonnancement des machines virtuelles. Les systèmes d
exploitation invités n ont pas conscience d être virtualisés.
ces derniers croient dialoguer directement avec le dit matériel.
2 Ce type d’hyperviseur fonctionne en isolant les systèmes
d’exploitation invités du système d’exploitation hôte. Les
ressources des machines virtuelles sont planifiées sur un
système d’exploitation hôte, qui est ensuite exécuté sur le
matériel. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
13 / 37 13 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Types de virtualisation

On distingue trois grandes catégories de solutions de


virtualisation, dont les domaines d applications sont
différents :
1 La virtualisation complète
2 La para-virtualisation
3 L isolation ou container

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
14 / 37 14 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Virtualisation complète

caractéristiques
• Dans la virtualisation complète, l hyperviseur intercepte de
manière transparente tous les appels que le système d
exploitation peut faire aux ressources matérielles, et supporte
donc des systèmes invités non modifiés.
• Au sens strict, le terme machines virtuelles désigne les
systèmes virtuels exécutés via des technologies de
virtualisation dites complète ou encore native.
• Virtualise et/ou émule le matériel
• Peut être vu comme un émulateur avec un accès direct au
proc., la mémoire, le système de fichiers
• Performance réduite si le proc. est émulé
• Bonne étanchéité entre les OS invités
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
15 / 37 15 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Virtualisation complète

Exemples
• Oracle VirtualBox
• VMware Workstation
• QEMU

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
16 / 37 16 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Paravirtualisation

caractéristiques
• La paravirtualisation présente aux systèmes d exploitation
une machine générique spéciale, qui requiert donc des
interfaces spéciales intégrées aux systèmes invités, sous la
forme de drivers.
• La paravirtualisation est une technique de virtualisation de
plus bas niveau
• Plus précisément, en paravirtualisation ce n’est plus seulement
l’OS hôte qui doit être modifié mais également les OS appelés
à s’exécuter sur les environnements virtuels.
• Chaque système virtuel doit donc être modifié de façon à
utiliser cette interface pour accéder au matériel,
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
17 / 37 17 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Paravirtualisation
• Il est ainsi possible de faire fonctionner GNU/Linux, NetWare,
Solaris (et d’autres) simultanément sur une même machine.
Chaque OS aura alors accès à ses propres périphériques de
stockage, sa propre mémoire, sa ou ses propres interfaces
réseau, son ou ses propres processeurs, chaque ressource
matérielle virtualisée étant partagée avec les autres
environnements. Xen est actuellement le seul représentant
mature de la technologie de paravirtualisation dans le monde
Open Source.
Exemples
• Kernel Virtual Machine
• Microsoft Hyper V
• Xen de Citrix
• VMware-vSphere .
.
.
.
.
. . . . .
. . . .
. . . .
. . . .
. . . .
. . . . .
.
.
.
.
.
.
.
.
.

Ali KOTTI
18 / 37 18 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Virtualisation par isolateur

Isolateur
• L isolation (cloisonnement) consiste à mettre en place, sur
un même noyau de système d exploitation, une séparation
forte entre différents contextes logiciels. Ce n est pas de la
virtualisation à proprement parler, mais c est une solution
qui peut rendre les mêmes services.
• Elle permet de séparer un sysème en plusieurs contextes ou
environnements. Chacun d’entre eux est régi par l’OS hôte,
mais les programmes de chaque contexte ne sont capables de
communiquer qu’avec les processus et les ressources associées
à leur propre contexte.
• Il est ainsi possible de partitionner un serveur en plusieurs
dizaines de contextes.
• L’isolation est utilisée sous Unix via des mécanismes comme
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI chroot ou Jail.


19 / 37 19 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Virtualisation par isolateur

• Il est possible d’exécuter des applications dans un


environnement qui n’est pas celui du système hôte, mais un
mini système ne contenant que ce dont l’application a besoin,
et n’ayant que des accès limités aux ressources.
• Solution très performante, du fait du peu temps passé par un
système à ne rien faire d’autre que se gérer, mais les
environnements virtualisés ne sont pas complètement isolés.
La performance est donc au rendez-vous, cependant on ne
peut pas vraiment parler de virtualisation de systèmes d
exploitation.
• Partage du code du noyau → risque de mauvaise isolation

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
20 / 37 20 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Virtualisation par isolateur

Exemples
• La principale solution pour l isolation est Linux-VServer, la
plus mature et la plus avancée,
• OpenVZ est une alternative, qui se présente de la même façon
et propose quasiment les mêmes fonctionnalités. Elle est à la
base du produit commercial Virtuozzo, mais présente peu d
intérêt.
• Chroot :isolation changement de racine
• Linux-VServer :isolation des processus en espace utilisateur
• BSD Jail : isolation en espace utilisateur
• LXC Linux Container runtime: libre (usage des Cgroups du
noyau Linux).
• Open VZ-Virtuozzo: partitionnement au niveau noyau sous
. . . . . . . . . . . . . . . . . . . .

Linux. . . . . . . . . . . . . . . . . . . . .

Ali KOTTI
21 / 37 21 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Limites de la Virtualisation

Limites de la virtualisation
• Surcharge de ressources : Les machines virtuelles (VMs)
nécessitent la virtualisation du matériel entier, y compris le
système d’exploitation (OS), ce qui entraîne une surcharge en
termes de mémoire, de CPU et de stockage. Chaque VM
nécessite son propre OS, ce qui consomme des ressources
importantes.
• Démarrage lent : Le démarrage d’une VM peut être lent, car
chaque VM doit initialiser son OS complet avant de pouvoir
exécuter des applications.
• Isolation moins flexible : Bien que les VMs offrent une
isolation solide, elles sont plus rigides dans la gestion des
dépendances et des interactions entre différentes applications.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
22 / 37 22 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Limites de la Virtualisation

Limites de la virtualisation
• Complexité dans la gestion : L’administration des VMs,
notamment la gestion de leurs hyperviseurs, peut être
complexe, surtout lorsque le nombre de VMs est élevé.
• Mises à jour et maintenance : Les VMs nécessitent des mises
à jour régulières, non seulement des applications, mais aussi
des systèmes d’exploitation à l’intérieur de chaque VM. Cela
augmente le coût de maintenance et la charge administrative.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
23 / 37 23 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Avantages du conteneurisation
1 Légèreté: Contrairement aux VMs, les conteneurs partagent
le même noyau de l OS hôte, ce qui réduit considérablement
la consommation de ressources. Ils contiennent uniquement
les bibliothèques et dépendances nécessaires à l’exécution
d’une application, sans embarquer un OS complet.
2 Isolation efficace et flexible : Les conteneurs isolent les
applications de manière plus flexible en permettant aux
développeurs de packager et d’exécuter les applications avec
leurs dépendances dans des environnements indépendants,
tout en partageant le noyau de l’OS.
3 Portable: vous pouvez créer localement, déployer sur le cloud
et exécuter n’importe où votre application.
4 Démarrage rapide : Les conteneurs démarrent beaucoup
plus rapidement que les VMs, car ils n ont pas besoin de
charger un OS complet. Cela facilite le déploiement rapide des
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
applications. . . . . . . . . . . . . . . . . . . . .

24 / 37 24 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Avantages du conteneurisation

1 Optimisation des ressources : En permettant de lancer


plusieurs conteneurs sur un même OS sans surcharge
significative, la conteneurisation améliore l’efficacité dans
l’utilisation des ressources matérielles.
2 Facilité de gestion : Un outil comme Docker facilite la
gestion des conteneurs, leur orchestration et leur scalabilité,
simplifiant ainsi les processus de mise à jour, de déploiement
et de gestion des infrastructures.
3 Évolutif: vous pouvez augmenter et distribuer
automatiquement les réplicas (les clones) de conteneur.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
25 / 37 25 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Comparaison Conteneur traditionnel et Docker

L une des pratiques clés du développement de logiciel


moderne est d isoler les applications déployées sur un même
hôte ou sur un même cluster. Ceci permet d éviter qu elles
interfèrent.

• Les conteneurs Linux traditionnels utilisent un système


d’initialisation capable de gérer plusieurs processus, ce qui
permet à plusieurs applications de s’exécuter comme une seule
et unique application.
• La technologie Docker privilégie la division des applications en
processus et fournit les outils pour le faire. Cette approche
granulaire présente plusieurs avantages.
• La plate-forme Docker autorise la portabilité entre machines
(qui exécutent aussi Docker) et permet ainsi à une application
et à ses composants d’exister en tant qu’objet mobile unique.
.
.
.
.
.
. . . . .
. . . .
. . . .
. . . .
. . . .
. . . . .
.
.
.
.
.
.
.
.
.

Ali KOTTI
26 / 37 26 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Mots clés pour le Docker

Terminologie et mots clés


1 Une image : un modèle pour créer un conteneur
2 Un conteneur : l instance qui tourne sur la machine.
3 Un volume : un espace virtuel pour gérer le stockage d un
conteneur et le partage entre conteneurs.
4 un registry : un serveur ou stocker des artefacts docker c
est à dire des images versionnées.
5 un orchestrateur : un outil qui gère automatiquement le
cycle de vie des conteneurs (création/suppression).

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
27 / 37 27 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Avantages du Docker

• Vitesse d exécution.
• Flexibilité sur les ressources (mémoire partagée).
• Moins complexe que la virtualisation
• Plus standard que les multiples hyperviseurs: notamment
moins de bugs d interaction entre l hyperviseur et le noyau

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
28 / 37 28 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Images et conteneurs

• Docker possède à la fois un module pour lancer les


applications (runtime) et un outil de build d application.
• Une image est le résultat d un build : on peut la voir un peu
comme une boîte modèle : on peut l utiliser plusieurs fois
comme base de création de containers identiques, similaires ou
différents.
• Un conteneur est une instance en cours de fonctionnement (
vivante ) d une image : un conteneur en cours de
fonctionnement est un processus (et ses processus enfants)
qui tourne dans le Linux hôte (mais qui est isolé de celui-ci)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
29 / 37 29 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Docker et conteneur
• Docker est la plateforme de conteneurisation la plus utilisée.
• Docker est une plateforme de conteneurs lancée en 2013 ayant
largement contribué à la démocratisation de la
conteneurisation. Elle permet de créer facilement des
conteneurs et des applications basées sur les conteneurs. Elle
est par ailleurs plus facile à déployer et à utiliser que ses
concurrentes.
• Un conteneur : Il s agit d un environnement d exécution
léger, et d une alternative aux méthodes de virtualisation
traditionnelles basées sur les machines virtuelles.
• C est une solution open source, sécurisée et économique.
De nombreux individus et entreprises contribuent au
développement de ce projet.
• Initialement conçue pour Linux, Docker permet aussi la prise
en charge des containers sur Windows ou Mac.
.
.
.
.
.
. . . . .
. . . .
. . . .
. . . .
. . . .
. . . . .
.
.
.
.
.
.
.
.
.

Ali KOTTI
30 / 37 30 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Comparaison MV et Docker

• Une machine virtuelle s apparente à un système d


exploitation complet, d une taille de plusieurs gigaoctets,
permettant le partitionnement des ressources d une
infrastructure. Un conteneur délivre uniquement les ressources
nécessaires à une application
• Le conteneur partage le kernel de son OS avec d autres
conteneurs. C est une différence avec une machine virtuelle,
utilisant un hyperviseur pour distribuer les ressources hardware
: Cette méthode permet de réduire l empreinte des
applications sur l infrastructure. Le conteneur regroupe tous
les composants système nécessaires à l exécution du code,
sans pour autant peser aussi lourd d un OS complet

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
31 / 37 31 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Comparaison MV et Docker

• Un conteneur est plus léger et plus simple qu une


machine virtuelle et peut donc démarrer et s arrêter plus
rapidement. Il est donc plus réactif, et adaptable aux besoins
fluctuants liés au scaling d une application.
• Contrairement à un hyperviseur, un moteur de conteneur n a
pas besoin d émuler un système d exploitation complet. Le
conteneur offre donc de meilleures performances qu un
déploiement sur machine virtuelle traditionnelle.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
32 / 37 32 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Différence avec la virtualisation

Comme ce ne sont que des processus dans un seul système :


• le partage de ressources est facilité
• il y a moins de surcout que la virtualisation
• il n’y pas de gestion du matériel
• il y a moins de sécurité

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
33 / 37 33 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Eléments de Docker
• Docker Engine : Le Docker Engine est l application à
installer sur la machine hôte pour créer, exécuter et gérer des
conteneurs Docker. Comme son nom l indique, il s agit du
moteur du système Docker. C est ce moteur qui regroupe et
relie les différents composants entre eux. C est la
technologie client-serveur permettant de créer et d exécuter
les conteneurs, et le terme Docker est souvent employé pour
désigner Docker Engine
• Docker Deamon : Le Docker Daemon traite les requêtes API
afin de gérer les différents aspects de l installation tels que
les images, les conteneurs ou les volumes de stockage.
• Docker client : Le client Docker est la principale interface
permettant de communiquer avec le système Docker. Il reçoit
les commandes par le biais de l interface de ligne de
commande et les transmet au Docker Daemon
.
.
.
.
.
. . . . .
. . . .
. . . .
. . . .
. . . .
. . . . .
.
.
.
.
.
.
.
.
.

Ali KOTTI
34 / 37 34 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Eléments de Docker
• Image Docker : Une image Docker est un modèle en lecture
seule, utiliser pour créer des conteneurs Docker. Elle est
composée de plusieurs couches empaquetant toutes les
installations, dépendances, bibliothèques, processus et codes
d application nécessaires pour un environnement de
conteneur pleinement opérationnel. Après avoir écrit le
Dockerfile, on invoque l utilitaire build pour créer une
image basée sur ce fichier. Cette image se présente comme un
fichier portable indiquant quels composants logiciels le
conteneur exécutera et de quelle façon.
• Dockerfile : Chaque conteneur Docker débute avec un
Dockerfile . Il s agit d un fichier texte rédigé dans une
syntaxe compréhensible, comportant les instructions de
création d une image Docker. Un Dockerfile précise le
système d exploitation sur lequel sera basé le conteneur, et
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
les langages, variables environnementales, emplacements de
. . . . . . . . . . . . . . . . . . . .

fichiers,
35 /ports
37 réseaux et autres composants requis. 35 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Compléments sur la virtualisation

VirtualBox Hyperviseur de type 2


• Machine virtuelle émulant un ordinateur complet
• Support des instructions de virtualisation
• Solution de virtualisation efficace et simple à utiliser
• Gourmand en ressources

Kernel Virtual Machine Hyperviseur de type 1


• Entièrement intégré au noyau Linux, donc simple à utiliser
• Utilisation possible d un mécanisme de type
Paravirtualisation via Virtio (interface de prog. du noyau
virtualisant les E/S)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Ali KOTTI
36 / 37 36 / 37
Introduction Domaines d’application
. .. .. .. .. .. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Différence SDN, NFV


Principales différences entre SDN et NFV. Le réseau défini par
logiciel (SDN) et la virtualisation des fonctions réseau (NFV) sont
deux technologies qui transforment le secteur des réseaux . Bien
que SDN et NFV visent tous deux à rendre les réseaux plus
flexibles et plus efficaces, ils diffèrent dans leur approche et leur
mise en uvre.
La virtualisation des fonctions réseau (NFV) extrait les fonctions
réseau, permettant ainsi aux logiciels s’exécutant sur les nuds de
calcul standardisés de les installer, de les contrôler et de les
manipuler. La NFV intègre des technologies cloud et de
virtualisation afin de développer rapidement de nouveaux services
réseau tout en optimisant la flexibilité en termes d’évolutivité et
d’automatisation. Ces technologies sont souvent regroupées dans
les solutions NFV et SDN (Software-Defined Networking).
La volonté d’automatiser l’orchestration et la gestion du réseau, du
. . . . . . . . . . . . . . . . . . . .

stockage et des ressources de calcul constitue un facteur clé en


Ali KOTTI
. . . . . . . . . . . . . . . . . . . .

matière de 37développement
/ 37 NFV et SDN. Imaginez un scénario 37 / 37

Vous aimerez peut-être aussi