Faire évoluer des clusters Ray sur Vertex AI

À mesure que vos charges de travail augmentent ou diminuent sur vos clusters Ray sur Vertex AI, vous pouvez adapter manuellement le nombre d'instances dupliquées en fonction de la demande. Par exemple, si vous disposez d'une capacité excédentaire, vous pouvez réduire vos pools de nœuds de calcul pour réduire les coûts. Cette page explique comment modifier le nombre de réplicas pour les pools de nœuds de calcul existants.

Limites

Lorsque vous effectuez le scaling de clusters, vous ne pouvez modifier que le nombre d'instances dupliquées de vos pools de nœuds de calcul existants. Par exemple, vous ne pouvez pas ajouter ou supprimer de pools de nœuds de calcul dans votre cluster, ni modifier le type de machine de vos pools de nœuds de calcul. En outre, le nombre d'instances dupliquées de vos pools de nœuds de calcul ne peut pas être inférieur à 1.

Si vous utilisez une connexion d'appairage de VPC pour vous connecter à vos clusters, le nombre maximal de nœuds est limité. Le nombre maximal de nœuds dépend du nombre de nœuds du cluster lors de sa création. Pour en savoir plus, consultez la section Calcul du nombre maximal de nœuds. Ce nombre maximal inclut non seulement vos pools de nœuds de calcul, mais également votre nœud principal. Si vous utilisez la configuration réseau par défaut, le nombre de nœuds ne peut pas dépasser les limites supérieures, comme décrit dans la documentation sur la création de clusters.

Calcul du nombre maximal de nœuds

Si vous utilisez l'accès aux services privés (appairage VPC) pour vous connecter à vos nœuds, utilisez les formules suivantes pour vérifier que vous ne dépassez pas le nombre maximal de nœuds (M), en supposant f(x) = min(29, (32 - ceiling(log2(x))) :

  • f(2 * M) = f(2 * N)
  • f(64 * M) = f(64 * N)
  • f(max(32, 16 + M)) = f(max(32, 16 + N))

Le nombre total maximal de nœuds dans le cluster Ray sur Vertex AI que vous pouvez faire évoluer (M) dépend du nombre total initial de nœuds que vous avez configurés (N). Après avoir créé le cluster Ray sur Vertex AI, vous pouvez adapter le nombre total de nœuds à une valeur comprise entre P et M inclus, où P correspond au nombre de pools de votre cluster.

Le nombre total initial de nœuds dans le cluster et le nombre cible de scaling à la hausse doivent se trouver dans le même bloc de couleur.

number-of-nodes

Mettre à jour le nombre d'instances répliquées

Vous pouvez utiliser la console Google Cloud ou le SDK Vertex AI pour Python pour mettre à jour le nombre d'instances dupliquées de votre pool de nœuds de calcul. Si votre cluster comprend plusieurs pools de nœuds de calcul, vous pouvez modifier individuellement le nombre de leurs instances dupliquées dans une seule requête.

Console

  1. Dans la console Google Cloud, accédez à la page Ray sur Vertex AI.

    Accéder à la page Ray sur Vertex AI

  2. Dans la liste des clusters, cliquez sur celui que vous souhaitez modifier.

  3. Sur la page Détails du cluster, cliquez sur Modifier le cluster.

  4. Dans le volet Modifier le cluster, sélectionnez le pool de nœuds de calcul à mettre à jour, puis modifiez le nombre d'instances dupliquées.

  5. Cliquez sur Mettre à jour.

    Patientez quelques minutes que votre cluster soit mis à jour. Une fois la mise à jour terminée, vous pouvez consulter le nombre d'instances dupliquées mis à jour sur la page Détails du cluster.

SDK Ray sur Vertex AI

import vertexai
import vertex_ray

vertexai.init()
cluster = vertex_ray.get_ray_cluster("CLUSTER_NAME")

# Get the resource name.
cluster_resource_name = cluster.cluster_resource_name

# Create the new worker pools
new_worker_node_types = []
for worker_node_type in cluster.worker_node_types:
 worker_node_type.node_count = REPLICA_COUNT # new worker pool size
 new_worker_node_types.append(worker_node_type)

# Make update call
updated_cluster_resource_name = vertex_ray.update_ray_cluster(
 cluster_resource_name=cluster_resource_name,
 worker_node_types=new_worker_node_types,
)