Pour dimensionnement des nœuds de cluster TKG vous spécifiez la classe de machine virtuelle. TKG fournit des classes par défaut, mais vous pouvez aussi 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 du cluster TKG.

À 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.
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.
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 déployez le cluster TKG. 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, utilisez le type de classe de machine virtuelle Garantie dans l'environnement de production. Si vous ne pouvez pas utiliser le type de classe de machine virtuelle Garantie pour tous les nœuds de production, utilisez-le au moins pour les nœuds du plan de contrôle.

Classes de machine virtuelle par défaut

Le tableau répertorie les types de classe de machine virtuelle par défaut qui sont utilisés pour les 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

Utilisation de classes de machines virtuelles avec des clusters TKG

Pour utiliser une classe de machine virtuelle avec un cluster TKG, 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 clusters TKG 2 sur le Superviseur.

Pour répertorier les classes de machine virtuelle disponibles dans l' Espace de noms vSphere cible, utilisez la commande kubectl get virtualmachineclassbinding.
Note : La commande kubectl describe virtualmachineclasses renvoie toutes les classes de machine virtuelle présentes sur le Superviseur. Cependant, puisque seules les classes liées peuvent être utilisées pour provisionner un cluster, cette commande est uniquement informative.
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 TKG existants restent inchangés. Les nouveaux clusters TKG utilisent la classe modifiée.
Attention : Si vous modifiez une classe de machine virtuelle qui est en cours d'utilisation par un cluster TKG, puis faites monter 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înera une discordance de classes.

vSphere with Tanzu prend en charge les classes de machine virtuelle personnalisées à utiliser avec des clusters TKG. 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. Pour plus de détails, reportez-vous à la documentation sur les services de superviseur.