Configuration du pool de nœuds pour les clusters basés sur ClusterClass

Il existe des différences de comportement lors de l'utilisation des commandes tanzu cluster node-pool par rapport à un cluster qui utilise une définition ClusterClass, plutôt que d'utiliser d'autres commandes tanzu. La mise à jour requise du cluster, en particulier de la topologie du cluster, est la seule chose que toutes ces API ont en commun lorsqu'elles fonctionnent sur un cluster ClusterClass.

tanzu cluster node-pool delete

La commande tanzu cluster node-pool delete est la modification la plus simple. La ressource de cluster est mise à jour pour supprimer la définition du déploiement de machines avec le nom du pool de nœuds qui est transmis à l'API de suppression. L'API interdit toujours la suppression du pool de nœuds final dans le cluster.

tanzu cluster node-pool delete tkg-wc-vsphere -n md–0

tanzu cluster node-pool list

La commande tanzu cluster node-pool list récupère les ressources MachineDeployment de la même manière que dans le cas d'un cluster basé sur un plan et fait correspondre ces ressources aux déploiements de machines dans la topologie du cluster. Cela permet à la commande tanzu cluster node-pool list de renvoyer les mêmes ressources MachineDeployment avec des noms mis à jour, afin qu'elles correspondent aux déploiements de machines définis dans la topologie de cluster.

tanzu cluster node-pool list tkg-wc-vsphere
  NAME  NAMESPACE  PHASE      REPLICAS  READY  UPDATED  UNAVAILABLE
  md-0  default    Ready      1         1      1        0

Propriétés sur les pools de nœuds dans les clusters basés sur ClusterClass

Les propriétés pouvant être mises à jour sur des pools de nœuds dans les clusters basés sur ClusterClass peuvent être divisées en deux types :

  • Propriétés directes des ressources de topologie de déploiement de machines, telles que le nombre de réplicas, qui modifient directement la topologie du déploiement de machines.
  • Remplacements de variables, qui reposent sur la définition de variables au niveau de ClusterClass. Lors du déploiement d'un cluster basé sur une ClusterClass, la définition du cluster doit spécifier un certain nombre de ces variables, qui s'appliquent par défaut à tous les déploiements de machines. La topologie de déploiement de machines permet de remplacer ces variables selon le déploiement de machines.

Les objets ClusterClass constituent la source définitive des propriétés qui peuvent être modifiées. Les objets TKG ClusterClass définissent tous une variable, worker, qui contient les propriétés de VM du nœud worker. Cela inclut instanceType et vmSize, respectivement pour AWS et Azure. La version de vSphere inclut des propriétés pour diskGiB, memoryMiB et numCPU. TKG avec superviseur définit des variables de niveau supérieur pour vmClass et storageClass, ainsi qu'un tableau pour nodePoolVolumes pour la personnalisation des nœuds worker. TKG sur vSphere définit également une variable vcenter pour la mise à jour des propriétés associées à l'instance de vCenter Server.

Tous les objets TKG ClusterClass définissent une variable nodePoolLabels qui spécifie les étiquettes de nœud à appliquer aux nœuds worker.

Important

Les commandes node-pool fournies par la CLI Tanzu nécessitent que les variables ci-dessus soient définies sur la ClusterClass pour prendre en charge la création et la mise à jour de pools de nœuds. Si vous utilisez une ClusterClass personnalisée, ces variables sont requises comme définitions de variables de niveau supérieur dans la ClusterClass. Il est toujours possible d'obtenir et de supprimer des pools de nœuds sur des clusters personnalisés basés sur la ClusterClass à l'aide de la CLI Tanzu. Il existe un cas spécifique dans lequel tanzu cluster node-pool create et tanzu cluster node-pool update fonctionnent pour les objets personnalisés ClusterClass, en particulier si la définition du pool de nœuds transmise à la CLI Tanzu spécifie au maximum les variables replicas, az, name, workerClass, et tkrResolver. Dans ce cas, la workerClass doit correspondre à une définition workerClass dans la ClusterClass personnalisée.

Mettre à jour un pool de nœuds existant avec tanzu cluster node-pool set

Lorsque la commande tanzu cluster node-pool set est appelée à l'aide du nom d'un pool de nœuds existant, la mise à jour modifie uniquement le nombre de réplicas et les étiquettes du pool de nœuds nommé, le cas échéant. Toutes les autres options fournies sont ignorées. En particulier, la topologie du cluster est mise à jour avec un nouveau nombre de réplicas et un remplacement de variable nodePoolLabels si ces valeurs sont fournies.

Créer un pool de nœuds avec tanzu cluster node-pool set

La création de pools de nœuds peut suivre l'un des deux chemins. Vous pouvez fournir la commande tanzu cluster node-pool set pour un déploiement de machines de base qui est utilisé comme point de départ pour le nouveau pool de nœuds. Une copie détaillée du déploiement de machines de base nommé agit comme base sur laquelle les propriétés fournies par l'utilisateur sont superposées. En général, cela signifie que tous les remplacements de variables du déploiement de machines copié sont mis à jour avec les nouvelles valeurs que vous fournissez. Cela est différent du cas où aucun déploiement de machines de base n'est fourni. Dans ce cas, les remplacements de variables sont copiés à partir des définitions de variables globales définies dans la topologie du cluster, puis les valeurs fournies par l'utilisateur sont superposées sur celles-ci. En outre, lorsque vous ne fournissez pas de déploiement de machines de base, vous devez fournir une définition workerClass et tkrResolver. Les objets TKG ClusterClass disposent d'une classe tkg-worker définie par défaut et doivent être utilisés, sauf si vous avez ajouté votre propre définition de classe de travailleur. Le tkrResolver est la valeur de l'annotation tkr-resolver.

Créer un pool de nœuds à l'aide d'un déploiement de machines de base

Pour utiliser un déploiement de machines de base afin de créer un pool de nœuds, exécutez la commande suivante :

tanzu cluster node-pool set tkg-wc-vsphere -f /path/to/node-pool.yml –-base-machine-deployment md-0

Avec le contenu suivant dans le fichier node-pool.yml :

name: np-1
replicas: 1
nodeMachineType: t3.large

Créer un pool de nœuds sans utiliser un déploiement de machines de base

Créez un pool de nœuds sans utiliser un déploiement de machines de base, exécutez la commande suivante :

tanzu cluster node-pool set tkg-wc-vsphere -f /path/to/node-pool.yml

Avec le contenu suivant dans le fichier node-pool.yml :

name: np-1
replicas: 1
nodeMachineType: t3.large
workerClass: tkg-worker
tkrResolver: os-name=ubuntu,os-arch=amd64
check-circle-line exclamation-circle-line close-line
Scroll to top icon