Virtualisation Et Conteneurs

CCST Networking (Cisco Certified Support Technician)Cloud & IoT

Virtualisation et conteneurs

Définition

La virtualisation permet d'exécuter plusieurs systèmes d'exploitation (machines virtuelles) sur un même serveur physique grâce à un hyperviseur. Les conteneurs (Docker, Kubernetes) offrent une isolation plus légère en partageant le noyau de l'OS hôte, permettant un déploiement plus rapide et une densité plus élevée. Ces technologies sont à la base du cloud computing moderne.

Contexte

Sans virtualisation, un serveur physique exécute un seul OS — gaspillant la majorité de ses ressources. La virtualisation a permis le cloud computing (IaaS repose sur des VMs), tandis que les conteneurs accélèrent le déploiement applicatif (PaaS, microservices). La certification CCST attend du candidat qu'il comprenne les concepts fondamentaux de la virtualisation et son lien avec le cloud.

Détails techniques

Machines virtuelles (VMs)

Une VM est une émulation complète d'un ordinateur physique : elle possède son propre OS, CPU virtuel, RAM, stockage et interfaces réseau virtuelles.

Composant Description
Hyperviseur Logiciel qui crée et gère les VMs
Guest OS Système d'exploitation installé dans la VM
vCPU Processeur virtuel alloué à la VM
vNIC Interface réseau virtuelle (connectée à un switch virtuel)
vSwitch Switch logiciel qui connecte les VMs entre elles et vers le réseau physique

Types d'hyperviseurs

Type Description Exemples
Type 1 (bare-metal) S'installe directement sur le matériel (pas d'OS hôte) VMware ESXi, Microsoft Hyper-V, KVM
Type 2 (hosted) S'installe sur un OS existant (Windows, macOS, Linux) VirtualBox, VMware Workstation

Le cloud utilise exclusivement des hyperviseurs Type 1 pour la performance et l'efficacité.

Réseau virtuel

VM-A ──┐
VM-B ──┼── vSwitch ──── pNIC (interface physique) ──── Réseau physique
VM-C ──┘
Concept Description
vSwitch Switch logiciel dans l'hyperviseur (VMware vSS, vDS ; Open vSwitch pour KVM)
Port group Équivalent d'un VLAN sur le vSwitch — regroupe les ports VM par politique réseau
VLAN tagging Le vSwitch peut taguer les trames 802.1Q pour intégrer les VMs dans les VLANs physiques
VxLAN Encapsulation L2 over L3 pour étendre les segments virtuels à travers le datacenter

Conteneurs

Un conteneur partage le noyau de l'OS hôte et n'embarque que l'application et ses dépendances :

Critère VM Conteneur
Isolation OS complet (forte) Processus isolé (plus légère)
Taille Go (OS + app) Mo (app + libs uniquement)
Démarrage Minutes Secondes
Densité ~10-50 VMs / serveur ~100-1000 conteneurs / serveur
Overhead Élevé (OS complet par VM) Faible (noyau partagé)
Portabilité Moyenne Élevée (image identique partout)

Écosystème conteneur :

Technologie Rôle
Docker Moteur de conteneurs le plus populaire — build, run, share
Kubernetes (K8s) Orchestrateur — déploiement, scaling, self-healing des conteneurs
Docker Compose Orchestration locale multi-conteneurs (dev)
Helm Gestionnaire de packages Kubernetes

Réseau dans les conteneurs

Concept Description
Bridge network Réseau par défaut Docker — NAT vers l'extérieur
Overlay network Réseau multi-hôtes pour les conteneurs sur différents serveurs
CNI (Container Network Interface) Plugin réseau Kubernetes (Calico, Flannel, Cilium)
Service mesh Couche réseau dédiée à la communication inter-microservices (Istio, Linkerd)

Exemple concret

Scénario : une entreprise migre son application monolithique vers une architecture microservices dans le cloud.

  1. Avant : une seule VM avec Tomcat, MySQL et le code applicatif. Déploiement long, scaling impossible de composants individuels.
  2. Après : l'application est découpée en 5 microservices, chacun dans un conteneur Docker :
    • Frontend (Nginx) — conteneur 50 Mo
    • API Gateway — conteneur 30 Mo
    • Service Auth — conteneur 25 Mo
    • Service Catalogue — conteneur 35 Mo
    • Base de données MySQL — conteneur avec volume persistant
  3. Kubernetes orchestre les conteneurs sur un cluster de 3 nœuds (VMs IaaS) :
    • Auto-scaling : si le frontend dépasse 80 % CPU, K8s lance des réplicas supplémentaires.
    • Self-healing : si un conteneur crashe, K8s le redémarre automatiquement.
  4. Réseau : Calico (CNI) gère le réseau inter-pods avec des Network Policies pour la micro-segmentation.