Pour mettre à l'échelle un cluster Managed Service pour Apache Spark 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 et les rôles associés de Managed Service pour Apache Spark sur GKE lorsque vous créez un cluster Managed Service pour Apache Spark 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 Managed Service pour Apache Spark sur GKE lorsque vous créez un cluster virtuel Managed Service pour Apache Spark sur GKE. Si aucune valeur n'est spécifiée, les pools de nœuds Managed Service pour Apache Spark sur GKE sont mis à l'échelle automatiquement avec des valeurs par défaut (lors de la version GA de Managed Service pour Apache Spark 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 Managed Service pour Apache Spark 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 Managed Service for Apache Spark 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 jusqu'à la limite spécifiée par l'utilisateur.