Pour mettre à l'échelle un cluster Dataproc sur GKE, mettez à jour la configuration de l'autoscaler des pools de nœuds associés aux rôles de pilote 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 les valeurs par défaut (lors de la version GA de Dataproc sur GKE, les valeurs par défaut sont définies sur minimum = 1 et maximum = 10, qui peuvent être modifiées). Pour obtenir des valeurs minimales et maximales spécifiques pour l'autoscaling du 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
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 planificateur GKE pour créer des pods d'exécution.
- Les pods d'exécution 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é d'accueillir les pods, ceux-ci commencent à s'exécuter immédiatement. Si la capacité est insuffisante, l'autoscaler de cluster GKE augmente la taille du 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 la taille du pool de nœuds à la limite spécifiée par l'utilisateur.