Wenn Sie einen Managed Service for Apache Spark on GKE-Cluster skalieren möchten, aktualisieren Sie die Autoscaler-Konfiguration der Knotenpools, die den Spark-Treiber- oder Spark-Executor-Rollen zugeordnet sind. Sie geben Knotenpools und die zugehörigen Rollen für Managed Service for Apache Spark in GKE an, wenn Sie einen Managed Service for Apache Spark in GKE-Cluster erstellen.
Autoscaling für Knotenpool festlegen
Sie können die Grenzen für das Autoscaling von Knotenpools für Managed Service for Apache Spark in GKE festlegen, wenn Sie einen virtuellen Cluster für Managed Service for Apache Spark in GKE erstellen. Wenn nicht angegeben, werden Knotenpools für Managed Service for Apache Spark in GKE mit Standardwerten automatisch skaliert (bei der GA-Version von Managed Service for Apache Spark in GKE sind die Standardwerte auf „minimum = 1“ und „maximum = 10“ festgelegt, was sich ändern kann). Wenn Sie bestimmte Mindest- und Höchstwerte für das Autoscaling von Knotenpools festlegen möchten, geben Sie diese beim Erstellen Ihres virtuellen Managed Service for Apache Spark on GKE-Clusters an.
Autoscaling für Knotenpools aktualisieren
Verwenden Sie den folgenden GKE-Befehl gcloud container node-pools update, um die Autoscaling-Konfiguration eines Knotenpools für Managed Service for Apache Spark in GKE zu ändern.
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) \
So funktioniert das Autoscaling in Spark
- Wenn ein Job gesendet wird, wird der Treiber-Pod für die Ausführung im Knotenpool geplant, der der Spark-Treiberrolle zugeordnet ist.
- Der Treiber-Pod ruft den GKE-Scheduler auf, um Executor-Pods zu erstellen.
- Executor-Pods werden im Knotenpool geplant, der mit der Spark-Executor-Rolle verknüpft ist.
- Wenn die Knotenpools Kapazität für die Pods haben, werden die Pods sofort ausgeführt. Wenn die Kapazität nicht ausreicht, skaliert der GKE-Cluster Autoscaler den Knotenpool auf, um die angeforderten Ressourcen bereitzustellen, bis zum vom Nutzer angegebenen Limit. Wenn Knotenpools eine überschüssige Kapazität haben, skaliert der GKE-Cluster-Autoscaler den Knotenpool auf das vom Nutzer angegebene Limit herunter.