Dataproc in GKE-Clustern skalieren

Wenn Sie einen Dataproc on GKE-Cluster skalieren möchten, aktualisieren Sie die Autoscaler-Konfiguration der Knotenpools, die mit den Rollen „Spark-Treiber“ oder „Spark-Executor“ 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 Knotenpools festlegen

Sie können die Grenzen für das Autoscaling von Dataproc on GKE-Knotenpools festlegen, wenn Sie einen virtuellen Dataproc on GKE-Cluster erstellen. Wenn nicht angegeben, wird für Dataproc on GKE-Knotenpools Autoscaling mit Standardwerten verwendet (bei der GA-Version von Dataproc on GKE sind die Standardwerte auf „minimum = 1“ und „maximum = 10“ festgelegt, die sich ändern können). Wenn Sie bestimmte Mindest- und Höchstwerte für das Autoscaling von Knotenpools festlegen möchten, geben Sie diese beim Erstellen Ihres virtuellen Dataproc 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 Dataproc on GKE-Knotenpools 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 Spark-Autoscaling

  1. Wenn ein Job gesendet wird, wird der Treiber-Pod für die Ausführung im Knotenpool geplant, der der Spark-Treiberrolle zugeordnet ist.
  2. Der Treiber-Pod ruft den GKE-Scheduler auf, um Executor-Pods zu erstellen.
  3. Executor-Pods werden im Knotenpool geplant, der der Spark-Executor-Rolle zugeordnet ist.
  4. 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.