1. Sujets
  2. Virtualisation
  3. KubeVirt, qu'est-ce que c'est ?

KubeVirt, qu'est-ce que c'est ?

CopiedFailedCopier l'URL

Le projet Open Source KubeVirt permet d'exécuter, de déployer et de gérer des machines virtuelles en utilisant Kubernetes comme plateforme d'orchestration sous-jacente. L'exécution de machines virtuelles dans des conteneurs correspond au processus de virtualisation native pour les conteneurs. La technologie KubeVirt rend ce processus possible en permettant la mise en paquet des machines virtuelles dans des conteneurs et la gestion de ces charges de travail à partir d'une seule console.

Avec KubeVirt, les machines virtuelles se comportent de la même façon que dans un environnement virtuel traditionnel, mais elles peuvent s'exécuter sur une plateforme commune aux microservices conteneurisés et aux applications cloud-native. Toutes les charges de travail de l'environnement, y compris les machines virtuelles, bénéficient de la même infrastructure Kubernetes, ainsi que d'outils et de processus de gestion identiques.

Parrainé par la CNCF (Cloud Native Computing Foundation), le projet KubeVirt constitue la base Open Source de Red Hat® OpenShift® Virtualization, une fonction de Red Hat OpenShift qui facilite la migration et la gestion des machines virtuelles traditionnelles sur une plateforme d'applications de cloud hybride fiable. 

Découvrir notre solution de virtualisation

La technologie KubeVirt ajoute des fonctionnalités à l'interface de programmation d'application (API) Kubernetes pour lui permettre d'interagir avec les machines virtuelles, comme le font d'autres ressources et outils Kubernetes. Les conteneurs et les machines virtuelles peuvent ainsi partager un cluster, des nœuds et des réseaux.

Les fonctionnalités supplémentaires de KubeVirt reposent sur trois principaux composants :

  • Définitions de ressources personnalisées : une ressource personnalisée est un objet qui permet d'enrichir l'API Kubernetes ou d'ajouter une autre API à un projet ou un cluster. Le type d'objet est défini dans le fichier de définition de la ressource personnalisée, ainsi que le serveur d'API chargé de la gestion de l'ensemble du cycle de vie. KubeVirt ajoute une définition de ressource personnalisée à l'API Kubernetes lui permettant de gérer les machines virtuelles comme des objets Kubernetes (tels que des pods).
  • Contrôleurs : un contrôleur est un ensemble de déploiements qui s'exécutent dans le cluster et qui fournissent un point de terminaison d'API pour gérer les nouvelles définitions de ressources personnalisées de KubeVirt.
  • Agents : exécutés sur les nœuds de calcul d'un cluster, les agents gèrent les tâches de nœud liées à la virtualisation.

On pourrait également considérer que KubeVirt est un pod renfermant une machine virtuelle basée sur la technologie KVM. Dans Kubernetes, un pod est un groupe de conteneurs qui s'exécutent ensemble et partagent les mêmes ressources. La technologie Open Source KVM (Kernel-based Virtual Machine) complète le noyau Linux® avec des fonctions d'hyperviseur. Avec KubeVirt, les instances de machines virtuelles s'exécutent comme des pods. Cette technologie peut ainsi gérer l'état des machines virtuelles (à l'arrêt, en pause ou en cours d'exécution) et effectuer des opérations telles que leur provisionnement, leur ordonnancement et leur migration. 

Migrer et gérer une infrastructure virtuelle

Création de machines virtuelles

Dans l'interface en ligne de commande virtctl, il est possible de créer des machines virtuelles dans un environnement Kubernetes à l'aide de la sous-commande « create vm ». Il est aussi possible de contrôler les types d'instances et les préférences afin de gérer les configurations sur plusieurs machines virtuelles à la fois, notamment pour définir les profils de performances et personnaliser les paramètres d'exécution.

Découvrir comment créer et mettre à l'échelle des machines virtuelles avec Red Hat OpenShift Virtualization

Gestion de machines virtuelles

L'interface en ligne de commande virtctl s'associe à l'outil en ligne de commande standard de Kubernetes, kubectl, pour permettre la gestion de machines virtuelles dans un cluster Kubernetes en s'appuyant sur la virtualisation. L'outil virtctl permet d'effectuer les opérations suivantes :

  • Arrêter, démarrer, redémarrer et mettre en pause des machines virtuelles
  • Gérer des images de disques
  • Accéder aux consoles série, graphique et SSH de la machine virtuelle
  • Migrer des machines virtuelles entre des nœuds

Avec les fonctions d'orchestration et d'ordonnancement de Kubernetes, la gestion est répartie entre plusieurs couches, ce qui assure le bon fonctionnement des machines virtuelles. KubeVirt peut aussi faciliter la gestion et la surveillance des conteneurs et des machines virtuelles à partir d'un seul plan de contrôle, lorsque des charges de travail de conteneurs sont exécutées en parallèle.

Gérer des machines virtuelles avec Red Hat OpenShift Virtualization

Migration de machines virtuelles

KubeVirt prend en charge plusieurs méthodes de migration des machines virtuelles, notamment la migration à chaud. Ce processus consiste à déplacer une machine virtuelle et à transférer ses ressources de stockage depuis l'hôte source vers un hôte de destination, sans la déconnecter. Cette option est idéale pour les machines virtuelles qui nécessitent une disponibilité permanente, car leur exploitation n'est pas perturbée lors de leur migration entre des nœuds ou des plateformes.

En savoir plus sur la migration à chaud

Expérimentation et mise à l'échelle

Kubernetes offre des fonctionnalités supplémentaires pour l'exécution de machines virtuelles, parmi lesquelles l'opérateur CDI (Containerized Data Importer), qui permet de stocker les machines virtuelles KubeVirt dans un espace disque et peut gérer les ressources de stockage.

Kubernetes permet aussi de mettre à l'échelle les applications automatiquement selon l'utilisation du processeur, suite à l'ajout de nouvelles fonctions et à la modernisation d'anciennes applications. 

Découvrir KubeVirt.io

Intégration cloud-native

Avec KubeVirt, il est possible d'exécuter des charges de travail difficiles à conteneuriser en parallèle d'applications et microservices cloud-native. Les composants des applications virtualisées s'intègrent à une plateforme de développement unifiée qui permet d'assembler, de gérer, de déployer et de mettre à l'échelle les applications, que les composants soient tous ou en partie conteneurisés ou virtualisés.

Avec KubeVirt, les machines virtuelles peuvent également bénéficier de diverses fonctions natives pour Kubernetes, telles que le contrôle d'accès basé sur les rôles, la surveillance et la journalisation intégrées ou le Service Mesh

Modernisation

La virtualisation rend possible le démarrage ou l'arrêt rapide de différents environnements de système d'exploitation sur le même équipement matériel. Cette approche apporte de nombreux avantages à l'écosystème informatique, qui gagne notamment en flexibilité, en rapidité et en stabilité. Toutefois, l'évolution des plateformes de virtualisation et l'augmentation de leur coût peuvent inciter les entreprises à chercher de nouvelles solutions. La technologie KubeVirt s'avère particulièrement intéressante, car en plus de remplacer les hyperviseurs, elle fournit une plateforme pour mener à bien la modernisation.

KubeVirt permet de créer et d'exécuter des conteneurs et des machines virtuelles en parallèle, ainsi que d'utiliser une plateforme unifiée pour développer de nouvelles applications et moderniser les charges de travail. La modernisation permet d'adopter les ressources et technologies nécessaires pour suivre les progrès en matière de développement d'applications cloud-native, d'intelligence artificielle et d'apprentissage automatique.

Fonctions avancées et équivalence

KubeVirt fait partie des projets de niveau Incubating de la CNCF, ce qui signifie non seulement qu'il offre des fonctions avancées et des fonctionnalités natives pour Kubernetes, mais aussi qu'il est sans cesse amélioré et enrichi par la communauté Open Source.

KubeVirt inclut des fonctions équivalentes à celles des autres plateformes de virtualisation d'entreprise, notamment VMware vSphere et HyperV, et offre donc la possibilité d'effectuer les mêmes tâches que dans un environnement de virtualisation traditionnel.

Performances

KubeVirt peut s'adapter aux changements des exigences du processeur ou d'allocation de la mémoire. C'est pourquoi la latence est plus faible qu'avec des solutions de virtualisation traditionnelles. KubeVirt rationalise également la couche d'abstraction entre le matériel bare metal et les environnements d'exécution, ce qui optimise l'utilisation des ressources et améliore les performances.

Au sein de la communauté KubeVirt, le groupe d'intérêt spécial autour de la mise à l'échelle (SIG-scale) a mis au point des techniques de surveillance de la mise à l'échelle de KubeVirt dans les environnements de datacenter, afin d'évaluer les performances et l'évolutivité du projet entre les versions. Désormais, ces données de performances et d'évolutivité sont publiées à chaque nouvelle version de KubeVirt.

En savoir plus sur l'amélioration des performances de KubeVirt grâce à l'évaluation basée sur l'intégration continue

Sécurité intégrée

KubeVirt s'appuie sur la sécurité native pour Kubernetes, qui garantit l'application cohérente des politiques dans tous les environnements, notamment les machines virtuelles. Au lieu de configurer des contrôles au niveau du système pour chaque hôte d'un cluster, les utilisateurs peuvent définir une même configuration (telle qu'une politique réseau) pour tous les pods d'un déploiement. Cette fonctionnalité facilite la gestion cohérente de la sécurité des machines virtuelles à grande échelle. 

En liant les politiques aux systèmes de CI/CD (intégration et distribution continues) et au contrôleur d'admission de Kubernetes, les entreprises peuvent plus facilement appliquer des politiques de contrôle au début du cycle de développement logiciel, ce qui limite l'exposition au moment de l'exécution. 

Vidéo sur la pertinence d'OpenShift Virtualization pour les machines virtuelles (durée : 1 min 57 s)

Migration des machines virtuelles et accélération de la transformation

Avec nos produits fiables et notre écosystème de partenaires, nous proposons aux entreprises des solutions complètes pour la virtualisation. Basée sur KVM et KubeVirt, la solution Red Hat® OpenShift® Virtualization est une plateforme d'applications moderne pour les machines virtuelles, qui intègre les charges de travail virtuelles et conteneurisées afin d'offrir davantage de flexibilité sans ajouter de complexité. Pour une solution de virtualisation spécialisée, nous proposons également Red Hat OpenShift Virtualization Engine, une offre rationalisée et économique qui sert à déployer, gérer et mettre à l'échelle les machines virtuelles exclusivement. Avec la boîte à outils de migration pour la virtualisation qui est incluse, les équipes peuvent lancer la migration en quelques étapes simples.

Automatisation de la migration

La solution Red Hat Ansible® Automation Platform automatise les processus pour accélérer la distribution, de la migration à grande échelle aux opérations de maintenance et de correction. Cette approche flexible permet d'automatiser les tâches pour exécuter des processus informatiques plus rapides et efficaces.

Réduction des risques en matière d'exploitation

Les entreprises qui standardisent la gouvernance et qui assurent la cohérence des mesures de vérification des politiques sur les machines virtuelles et les charges de travail conteneurisées pourront obtenir divers avantages. La solution Red Hat Advanced Cluster Security for Kubernetes permet d'appliquer des politiques de configuration, d'identifier les vulnérabilités des paquets et de suivre les contrôles de conformité dans toute l'infrastructure à partir d'une seule console. Pour les entreprises qui exploitent uniquement des environnements virtualisés, la solution Red Hat Advanced Cluster Security for Virtualization fournit ces fonctionnalités unifiées de visibilité et de gestion des risques directement dans les charges de travail des machines virtuelles. 

Gestion et modernisation au rythme de l'entreprise

La solution Red Hat Advanced Cluster Management permet de surveiller la sécurité et les performances des machines virtuelles à partir d'une seule console. Il existe d'autres options de prise en charge et intégrations de partenaires. Toutes ces solutions doivent permettre à nos clients d'assurer le bon fonctionnement de leur infrastructure virtuelle dans le cloud hybride et de moderniser leur environnement à leur rythme.

Découvrir notre solution de virtualisation

Tous les essais de produits Red Hat

Profitez de nos essais gratuits de produits pour renforcer votre expérience pratique, préparer une certification ou évaluer l'adéquation d'un produit avec les besoins de votre entreprise.

En savoir plus

La virtualisation native pour les conteneurs, qu'est-ce que c'est ?

La virtualisation native pour les conteneurs permet d'exécuter et de gérer des charges de travail de machines virtuelles en même temps que des charges de travail de conteneurs via la solution OpenShift Virtualization.

La virtualisation, qu'est-ce que c'est ?

La virtualisation est une technologie qui permet de créer des environnements virtuels et simulés à partir d'une seule machine physique.

La gestion de la virtualisation, qu'est-ce que c'est ?

La gestion de la virtualisation permet de simplifier l'administration des ressources, l'analyse des données et la rationalisation de l'exploitation.

Virtualisation : ressources recommandées

Produit recommandé

  • Red Hat OpenShift Virtualization

    Fonction de Red Hat® OpenShift® qui intègre avec fluidité les machines virtuelles dans une plateforme d'infrastructure de cloud hybride moderne.

Articles associés