Wenn Sie einen Dataproc-Cluster in GKE skalieren möchten, aktualisieren Sie die Autoscaler-Konfiguration der Knotenpools, die mit den Spark-Treiber- oder Spark-Executor-Rollen verknüpft sind. Sie geben Dataproc on GKE-Knotenpools und die zugehörigen Rollen an, wenn Sie einen Dataproc on GKE-Cluster erstellen.
Autoscaling für Knotenpool festlegen
Sie können die Grenzen für die automatische Skalierung von Knotenpools in Dataproc on GKE festlegen, wenn Sie einen virtuellen Dataproc-Cluster in GKE erstellen. Wenn Sie keine Werte angeben, werden Dataproc on GKE-Knotenpools automatisch mit Standardwerten skaliert. In der GA-Version von Dataproc on GKE sind die Standardwerte „min = 1“ und „max = 10“. Diese können sich ändern. Wenn Sie bestimmte Mindest- und Höchstwerte für das Autoscaling von Knotenpools erhalten möchten, legen Sie diese beim Erstellen Ihres Dataproc-Clusters in GKE fest.
Autoscaling für Knotenpools aktualisieren
Verwenden Sie den folgenden GKE-Befehl gcloud container node-pools update
, um die Autoscaling-Konfiguration eines Dataproc-Knotenpools 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) \
Funktionsweise des Spark-Autoscalings
- Wenn ein Job eingereicht wird, wird der Treiber-Pod für die Ausführung im Knotenpool geplant, der mit der Spark-Treiberrolle verknüpft ist.
- Der Treiber-Pod ruft den GKE-Planer auf, um Ausführende-Pods zu erstellen.
- Executor-Pods werden auf dem 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 gestartet. Wenn die Kapazität nicht ausreicht, skaliert der GKE Cluster Autoscaler den Knotenpool bis zum vom Nutzer angegebenen Limit, um die angeforderten Ressourcen bereitzustellen. Wenn Knotenpools über eine Kapazitätsreserve verfügen, skaliert der GKE-Cluster Autoscaler den Knotenpool auf das vom Nutzer angegebene Limit herunter.