vSphere with Tanzu offre une fonctionnalité de service de machine virtuelle qui permet aux ingénieurs DevOps de déployer et d'exécuter des machines virtuelles, en plus de conteneurs, dans un environnement Kubernetes partagé commun. Vous pouvez utiliser le service de VM pour gérer le cycle de vie des machines virtuelles dans un Espace de noms vSphere. Le service de VM gère les machines virtuelles autonomes et les machines virtuelles qui constituent les clusters Tanzu Kubernetes.

Généralement, les besoins et les objectifs de l'entreprise déterminent votre décision d'exécuter des charges de travail dans une machine virtuelle plutôt que dans un conteneur. Pour plus d'informations sur le moment propice d'exécution d'une machine virtuelle, reportez-vous à la section Utilisation de machines virtuelles dans vSphere with Tanzu.

Concepts du service de VM

Pour décrire l'état d'une machine virtuelle à déployer dans un Espace de noms vSphere, vous utilisez des paramètres tels qu'une classe de machine virtuelle, une image de machine virtuelle et une classe de stockage. Le service de VM regroupe ensuite ces spécifications pour créer des machines virtuelles autonomes ou des machines virtuelles qui prennent en charge les clusters Tanzu Kubernetes.

La spécification de machine virtuelle rassemble la classe de machine virtuelle, l'image de machine virtuelle et la classe de stockage pour créer une machine virtuelle
Service de VM
Le service de VM est un composant de vSphere with Tanzu qui fournit une API de type Kubernetes déclarative pour la gestion des machines virtuelles et des ressources vSphere associées. Le service de VM permet aux administrateurs vSphere de fournir à Kubernetes des ressources et des modèles, tels que des classes et des images de machine virtuelle. Les ingénieurs DevOps peuvent utiliser ces ressources pour décrire l'état souhaité d'une machine virtuelle. Une fois que les ingénieurs DevOps ont spécifié l'état de la machine virtuelle, le service de VM convertit l'état souhaité à un état réalisé par rapport aux ressources d'infrastructure de soutien.

Une machine virtuelle créée via le service de VM peut uniquement être gérée à partir de l'espace de noms Kubernetes avec les commandes kubectl. Les administrateurs vSphere ne peuvent pas gérer la machine virtuelle à partir de vSphere Client, mais peuvent afficher ses détails et surveiller les ressources qu'elle utilise. Pour plus d'informations, consultez Surveiller les machines virtuelles disponibles dans vSphere with Tanzu.

Classe de VM
La classe de machine virtuelle est une spécification de machine virtuelle qui peut être utilisée pour demander un ensemble de ressources pour une machine virtuelle. La classe de machine virtuelle est contrôlée et gérée par un administrateur vSphere, et définit des paramètres tels que le nombre de CPU virtuels, la capacité de mémoire et les paramètres de réservation. Les paramètres définis sont garantis par les ressources d'infrastructure sous-jacentes d'un cluster superviseur.

Un administrateur vSphere peut créer des classes de VM personnalisées.

En outre, la gestion de la charge de travail offre plusieurs classes de machine virtuelle par défaut. En général, chaque type de classe par défaut est livré en deux éditions : garantie et meilleur effort. Une édition garantie réserve entièrement les ressources demandées par une spécification de machine virtuelle. Ce n'est pas le cas pour une édition de classe meilleur effort, car elle permet de surcharger des ressources. En général, un type garanti est utilisé dans un environnement de production.

Voici des exemples de classes de machine virtuelle par défaut.

Classe CPU Mémoire (Go) CPU et mémoire réservés
guaranteed-large 4 16 Oui
best-effort-large 4 16 Non
guaranteed-small 2 4 Oui
best-effort-small 2 4 Non

L'administrateur vSphere peut attribuer n'importe quel nombre de classes de machine virtuelle existantes pour les rendre disponibles aux ingénieurs DevOps dans un espace de noms spécifique.

La classe de machine virtuelle fournit une expérience simplifiée pour les ingénieurs DevOps. Les ingénieurs DevOps n'ont pas besoin de comprendre la configuration complète de chaque machine virtuelle qu'il prévoit de créer. Ils peuvent plutôt sélectionner une classe de machine virtuelle parmi les options disponibles, et le service de VM gère la configuration de la machine virtuelle.

Côté Kubernetes, les classes de machine virtuelle s'affichent sous la forme de ressources VirtualMachineClass et VirtualMachineClassBinding.

Image de VM
Une image de machine virtuelle est un modèle qui contient une configuration logicielle, notamment un système d'exploitation, des applications et des données.

Lorsque les ingénieurs DevOps créent des machines virtuelles, ils peuvent sélectionner des images dans la bibliothèque de contenu associée à l'espace de noms. Pour les ingénieurs DevOps, les images sont exposées en tant qu'objets VirtualMachineImage.

Le service de VM prend en charge un nombre limité d'images de VM et de systèmes d'exploitation invités. Les images de VM compatibles s'affichent dans VMware Marketplace sous forme de fichiers OVF. Assurez-vous d'utiliser uniquement les images de machine virtuelle prises en charge par le service de VM. Pour rechercher des images compatibles, recherchez VM Service image sur le site VMware Cloud Marketplace. Consultez un exemple d'image de service de machine virtuelle pour CentOS sur la page Image de service de machine virtuelle pour CentOS.

Source de contenu
Un ingénieur DevOps utilise une bibliothèque de contenu comme source d'images pour créer une machine virtuelle. Comme pour les classes de VM, un administrateur vSphere peut attribuer des bibliothèques de contenu existantes à un espace de noms pour les rendre disponibles aux ingénieurs DevOps.
Classe de stockage
Le service de VM utilise des classes de stockage pour placer des disques virtuels et attacher dynamiquement des volumes persistants. Pour plus d'informations sur les classes de stockage, reportez-vous à la section Utilisation d'un stockage persistant dans vSphere with Tanzu.
Spécification de VM
Les ingénieurs DevOps décrivent l'état souhaité d'une machine virtuelle dans un fichier YAML qui regroupe l'image de VM, la classe de VM et la classe de stockage.
Mise en réseau
Le service de VM n'a pas de configuration requise spécifique et repose sur la configuration réseau disponible dans vSphere with Tanzu. Le service de VM prend en charge les deux types de mise en réseau vSphere ou NSX-T. Lorsque des machines virtuelles sont déployées, un fournisseur de réseau disponible alloue des adresses IP statiques aux machines virtuelles. Pour plus d'informations, consultez Mise en réseau pour vSphere with Tanzu.

Workflow de l'administrateur vSphere pour le provisionnement d'une machine virtuelle

En tant qu'administrateur vSphere, vous définissez des garde-fous pour la stratégie et la gouvernance des machines virtuelles, et vous livrez des ressources de machine virtuelle, telles que des classes et des modèles de machine virtuelle aux ingénieurs DevOps. Après le déploiement d'une machine virtuelle, vous pouvez la surveiller à l'aide de vSphere Client.

Étape Description Instructions
1 Créez et gérez des classes de machine virtuelle.
2 Associez un ensemble de classes de machine virtuelle à un espace de noms. Associer une classe de machine virtuelle à un espace de noms dans vSphere with Tanzu
3 Créez et gérez des bibliothèques de contenu.
4 Associez une bibliothèque de contenu à un espace de noms.
5 Associez des classes de stockage à un espace de noms. Créer et configurer un Espace de noms vSphere
6 Surveillez les machines virtuelles déployées. Surveiller les machines virtuelles disponibles dans vSphere with Tanzu

Workflow d'ingénieur DevOps pour le provisionnement d'une machine virtuelle

Les ingénieurs DevOps ayant des autorisations peuvent examiner les ressources de machine virtuelle disponibles et déployer des machines virtuelles dans l'espace de noms. Utilisez la commande kubectl pour effectuer les tâches suivantes.

Étape Description Instructions
1 Répertorier les classes, les images et autres ressources de machine virtuelle associées à l'espace de noms. Afficher les ressources de machine virtuelle disponibles dans un espace de noms dans vSphere with Tanzu
2 Créer une machine virtuelle.