Pour mettre à l'échelle un cluster Dataproc sur GKE, mettez à jour la configuration de l'autoscaler du ou des pools de nœuds associés aux rôles de pilote Spark ou d'exécuteur Spark. Vous spécifiez les pools de nœuds Dataproc sur GKE et leurs rôles associés lorsque vous créez un cluster Dataproc sur GKE.
Définir l'autoscaling du pool de nœuds
Vous pouvez définir les limites de l'autoscaling du pool de nœuds Dataproc sur GKE lorsque vous créez un cluster virtuel Dataproc sur GKE. Si aucune valeur n'est spécifiée, les pools de nœuds Dataproc sur GKE sont mis à l'échelle automatiquement avec des valeurs par défaut (lors de la disponibilité générale de Dataproc sur GKE, les valeurs par défaut sont définies sur minimum = 1 et maximum = 10, mais elles peuvent être modifiées). Pour obtenir des valeurs d'autoscaling minimales et maximales spécifiques pour le pool de nœuds, définissez-les lorsque vous créez votre cluster virtuel Dataproc sur GKE.
Mettre à jour l'autoscaling du pool de nœuds
Utilisez la commande GKE
gcloud container node-pools update
suivante pour modifier la configuration de l'autoscaling d'un pool de nœuds Dataproc sur GKE.
gcloud container node-pools update NODE_POOL_NAME \ --cluster=GKE_CLUSTER_NAME \ --region=region \ --enable-autoscaling \ --min-nodes=min nodes (must be <= max-nodes) \ --max-nodes=max nodes (must be >= min-nodes) \
Fonctionnement de l'autoscaling Spark
- Lorsqu'une tâche est envoyée, le pod du pilote est planifié pour s'exécuter sur le pool de nœuds associé au rôle de pilote Spark.
- Le pod du pilote appelle le scheduler GKE pour créer des pods d'exécuteur.
- Les pods d'exécuteur sont planifiés sur le pool de nœuds associé au rôle d'exécuteur Spark.
- Si les pools de nœuds ont la capacité nécessaire pour les pods, ces derniers commencent à s'exécuter immédiatement. Si la capacité est insuffisante, l'autoscaler de cluster GKE met à l'échelle le pool de nœuds pour fournir les ressources demandées, jusqu'à la limite spécifiée par l'utilisateur. Lorsque les pools de nœuds ont une capacité excédentaire, l'autoscaler de cluster GKE réduit le pool de nœuds jusqu'à la limite spécifiée par l'utilisateur.