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

À propos des classes de machines virtuelles

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.

Utilisation de classes de machines virtuelles avec des clusters de Service 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 Configurez un Espace de noms vSphere pour des clusters Service TKG.

Pour répertorier les classes de machine virtuelle disponibles dans l' Espace de noms vSphere cible, utilisez la commande kubectl get virtualmachineclass.
Note : Si vous rencontrez des problèmes avec cette commande, reportez-vous à la section Dépanner les erreurs de classe 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 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.

Classes de machines virtuelles par défaut

Le tableau répertorie les types de classes de machines virtuelles par défaut qui sont utilisés comme tailles de déploiement 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 machines virtuelles 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 IaaS control plane prend en charge les classes de machines virtuelles personnalisées à utiliser avec des clusters de services 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 obtenir des informations, reportez-vous à la documentation des services de VM.