Pour dimensionner des nœuds de clusters Tanzu Kubernetes, vous spécifiez la classe de machine virtuelle. vSphere with Tanzu fournit des classes par défaut, et vous pouvez créer les vôtres. Pour utiliser une classe, associez-la à l'Espace de noms vSphere cible et faites référence à la classe dans le manifeste.

À propos des classes de machine virtuelle

Une classe de machine virtuelle est une demande de réservations de ressources pour le traitement de la mise sous tension de la machine virtuelle, y compris le CPU et la mémoire (RAM). Par exemple, le type de classe de machine virtuelle nommé « guaranteed-large » réserve 4 CPU et 16 Go de RAM. Reportez-vous à la section Classes de machine virtuelle par défaut pour obtenir la liste des classes de machine virtuelle par défaut et leurs réservations de CPU et de RAM correspondantes.
Note : La taille de disque de machine virtuelle est définie par le modèle OVA, pas par la définition de classe de machine virtuelle. Pour Versions de Tanzu Kubernetes, la taille du disque est de 16 Go. Reportez-vous à la section À propos des distributions Version de Tanzu Kubernetes.
Il existe deux types de réservation pour les classes de machine virtuelle : Garantie et Meilleur effort. La classe garantie réserve entièrement ses ressources configurées. Cela signifie que pour un cluster donné, spec.policies.resources.requests correspond aux paramètres spec.hardware. La classe Meilleur effort permet la surcharge des ressources. Pour les charges de travail de production, il est recommandé d'utiliser le type de classe de machine virtuelle Garantie.
Avertissement : Étant donné que le type de classe de machine virtuelle Meilleur effort permet de surcharger les ressources, vous pouvez manquer de ressources si vous avez défini des limites sur l' Espace de noms vSphere dans lequel vous provisionnez le cluster Tanzu Kubernetes. Si une contention se produit et que le plan de contrôle est affecté, le cluster peut cesser de s'exécuter. Pour cette raison, vous devez toujours utiliser le type de classe de machine virtuelle Garantie pour les clusters de production. Si vous ne pouvez pas utiliser le type de classe de machine virtuelle Garantie pour tous les nœuds de production, vous devez au moins l'utiliser pour les nœuds du plan de contrôle.

Utilisation des classes de machine virtuelle

Pour utiliser une classe de machine virtuelle avec un cluster Tanzu Kubernetes, celle-ci doit être liée à l'Espace de noms vSphere sur lequel le cluster est provisionné. Pour ce faire, vous associez la classe à l'espace de noms cible. Reportez-vous à la section Configurer un Espace de noms vSphere pour des Versions de Tanzu Kubernetes.

Pour répertorier les classes de machine virtuelle disponibles dans l' Espace de noms vSphere cible, utilisez la commande kubectl get virtualmachineclassbinding. Pour afficher toutes les classes de machine virtuelle présentes sur le Cluster superviseur, exécutez la commande kubectl describe virtualmachineclasses. Notez toutefois que du fait que seules des classes liées peuvent être utilisées pour provisionner un cluster, la dernière commande est uniquement informative. Reportez-vous à la section Workflow de provisionnement de clusters Tanzu Kubernetes à l'aide de TKGS v1alpha2 API.
Note : L'obligation d'associer des classes de machine virtuelle à l' Espace de noms vSphere s'applique uniquement aux nouveaux clusters. Les clusters Tanzu Kubernetes existants utilisant les classes de machine virtuelle par défaut continuent de fonctionner sans nécessiter d'association d'espace de noms.

Classes de machine virtuelle par défaut

Le tableau Classes de machine virtuelle par défaut répertorie les types de classe de machine virtuelle par défaut qui sont utilisés comme tailles de déploiement des nœuds de cluster Tanzu Kubernetes.

Pour éviter la surdimensionnement des ressources, les charges de travail de production doivent utiliser le type de classe garanti. Pour éviter de manquer de mémoire, n'utilisez pas la taille petite classe ou très petite classe pour les nœuds worker sur lesquels vous déployez des charges de travail dans n'importe quel environnement (développement, test ou production).

Tableau 1. Classes de machine virtuelle par défaut
Classe CPU Mémoire (Go) CPU et mémoire réservés
guaranteed-8xlarge 32 128 Oui
best-effort-8xlarge 32 128 Non
guaranteed-4xlarge 16 128 Oui
best-effort-4xlarge 16 128 Non
guaranteed-2xlarge 8 64 Oui
best-effort-2xlarge 8 64 Non
guaranteed-xlarge 4 32 Oui
best-effort-xlarge 4 32 Non
guaranteed-large 4 16 Oui
best-effort-large 4 16 Non
guaranteed-medium 2 8 Oui
best-effort-medium 2 8 Non
guaranteed-small 2 4 Oui
best-effort-small 2 4 Non
guaranteed-xsmall 2 2 Oui
best-effort-xsmall 2 2 Non

Classes de machines virtuelles personnalisées

vSphere with Tanzu prend en charge les classes de machine virtuelle personnalisées à utiliser avec des clusters Tanzu Kubernetes. Une fois que vous avez défini une classe de machine virtuelle personnalisée, vous devez l'associer à l'Espace de noms vSphere cible avant de pouvoir l'utiliser avec un cluster. Reportez-vous à la section Créer une classe de VM dans vSphere with Tanzu.

Modification des classes de machine virtuelle

Les définitions de classe de machine virtuelle ne sont pas immuables. Toute classe de machine virtuelle peut être modifiée, notamment les définitions de classes de machine virtuelle par défaut. Si une classe de machine virtuelle est modifiée, les nœuds de clusters Tanzu Kubernetes existants restent inchangés. Les nouveaux clusters Tanzu Kubernetes utiliseront la définition de classe modifiée.
Attention : Si vous modifiez une classe de machine virtuelle qui est en cours d'utilisation par un cluster Tanzu Kubernetes, puis montez en charge ce cluster, le ou les nouveaux nœuds utiliseront la définition de classe modifiée, mais les nœuds existants utiliseront la définition de classe initiale, ce qui entraîne une discordance de classes.