Aller au contenu
Virtualisation medium

KubeVirt : faire tourner des VM dans Kubernetes

8 min de lecture

Logo Kubevirt

KubeVirt fait tourner des machines virtuelles comme des ressources Kubernetes natives, à côté de vos conteneurs, dans le même cluster. Chaque VM s'exécute dans un pod, pilotée par des CRDs (VirtualMachine, VirtualMachineInstance), et bénéficie du scheduling, du réseau et du stockage de Kubernetes. C'est le projet CNCF qui permet d'unifier deux mondes historiquement séparés, sans réécrire vos charges legacy en conteneurs.

Ce hub est le point d'entrée d'un parcours complet : comprendre l'architecture, installer KubeVirt (même sur un lab sans /dev/kvm), créer et exploiter des VM, puis aborder stockage, réseau, live migration et écosystème. Version de référence : v1.8. Public : intermédiaire à avancé, à l'aise avec kubectl.

  • Expliquer l'architecture de KubeVirt (virt-operator, virt-controller, virt-handler, virt-launcher) et ses CRDs.
  • Installer KubeVirt via l'opérateur, y compris en émulation logicielle sur un cluster de lab.
  • Créer une VM avec un manifeste, la démarrer, y accéder en console et en SSH, l'exposer via un Service.
  • Provisionner des disques avec CDI (import d'images cloud) et gérer le stockage persistant.
  • Migrer à chaud une VM entre nœuds et la sauvegarder (snapshots, Velero).
  • Situer KubeVirt face à Harvester, OpenShift Virtualization et aux hyperviseurs classiques.

Le parcours va du socle conceptuel aux opérations avancées. Les modules cœur (1 à 8) suffisent à exploiter KubeVirt en pratique ; les extensions (9 à 12) couvrent le matériel, Windows et l'écosystème.

ModuleSujetNiveauStatut
1Architecture et concepts (VM, VMI, virt-*)débutantDisponible
2Installer KubeVirt (lab en émulation)débutantDisponible
3Créer et gérer une VM (runStrategy, cloud-init, accès)débutantDisponible
4instancetypes et preferencesintermédiaireÀ venir
5Images et stockage avec CDIintermédiaireÀ venir
6Réseau : masquerade, bridge, exposer via ServiceintermédiaireÀ venir
7Live migrationintermédiaireÀ venir
8Snapshots, clones et sauvegardeintermédiaireÀ venir
9VM WindowsavancéÀ venir
10Performance et matériel (GPU, hugepages, CPU dédié)avancéÀ venir
11Réseau avancé (Multus, passt, SR-IOV)avancéÀ venir
12Écosystème et migration (MTV, Harvester, CAPK)intermédiaireÀ venir

Beaucoup d'organisations ont un pied dans chaque monde : des conteneurs pour le nouveau, des machines virtuelles pour l'existant (bases de données, appliances, OS Windows, logiciels non conteneurisables). Maintenir deux plateformes en parallèle, deux équipes, deux chaînes d'outils, coûte cher.

Sans KubeVirtAvec KubeVirt
Un hyperviseur (VMware, Proxmox) et un cluster Kubernetes, gérés séparémentUne seule plateforme : VM et conteneurs dans le même cluster
Deux modèles de réseau, de stockage, de RBACLe réseau, le stockage et le RBAC de Kubernetes, partagés
VM pilotées par une console propriétaireVM pilotées en GitOps comme n'importe quelle ressource K8s
Migration cloud = tout réécrire en conteneursOn déplace les VM telles quelles, on conteneurise ensuite à son rythme

Le contexte a accéléré l'intérêt : les bouleversements tarifaires côté VMware poussent de nombreuses équipes à chercher une sortie, et faire tourner leurs VM sur Kubernetes en est une, sans jeter le modèle VM. Je le défends comme une voie de transition réaliste : on ne conteneurise pas une appliance Windows du jour au lendemain, mais on peut déjà la rapatrier dans le cluster et lui appliquer les mêmes pratiques que le reste.

KubeVirt est le moteur ; plusieurs produits le packagent différemment.

  • KubeVirt upstream (ce parcours) : la brique CNCF, à assembler soi-même sur un cluster existant. Contrôle total, montée en compétence maximale.
  • OpenShift Virtualization : la distribution supportée par Red Hat de KubeVirt, intégrée à OpenShift. Même moteur, support commercial et console intégrée.
  • Harvester : une HCI clé en main (hyperconvergée) bâtie sur KubeVirt, Longhorn et Rancher. Pour qui veut une appliance de virtualisation, pas un cluster à composer.
  • Hyperviseurs classiques (Proxmox, oVirt, vSphere) : plus simples si vous n'avez que des VM et pas de Kubernetes. KubeVirt gagne dès que vous voulez unifier VM et conteneurs.

Ma position : commencez par KubeVirt upstream pour comprendre le moteur ; choisissez Harvester si vous voulez une plateforme prête à l'emploi, ou OpenShift Virtualization si vous avez déjà OpenShift et un besoin de support.

  • Couvre : l'installation, le cycle de vie des VM, le stockage CDI, le réseau, la live migration, la sauvegarde, et le positionnement écosystème.
  • Ne couvre pas en profondeur : l'administration d'un cluster Kubernetes de production (voir le parcours Kubernetes), le stockage distribué sous-jacent (CSI, Longhorn, Ceph), et le design réseau CNI avancé, traités dans leurs sections propres.

KubeVirt évolue vite ; cette section suit les jalons récents.

  • v1.6 (2025-07) : stratégie de rollout LiveUpdate par défaut (rupture), InstancetypeReferencePolicy en GA, DRA pour GPU.
  • v1.7 (2025-11) : live migration décentralisée (entre namespaces et clusters), évacuation annulable, retrait de l'API instancetype v1alpha.
  • v1.8 (2026-03) : couche d'abstraction multi-hyperviseur, attestation Intel TDX (confidential computing), backup incrémental via Changed Block Tracking, et suppression des anciens bindings réseau macvtap et SLIRP.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn