GKE-Cluster skalieren

Wenn Sie einen Managed Service for Apache Spark on GKE-Cluster skalieren möchten, aktualisieren Sie die Autoscaler-Konfiguration der Knotenpools , die mit den Rollen des Spark-Treibers oder des Spark-Executors verknüpft sind. Sie geben Managed Service for Apache Spark on GKE Knotenpools und die zugehörigen Rollen an, wenn Sie einen Managed Service for Apache Spark on GKE-Cluster erstellen.

Autoscaling für Knotenpools festlegen

Sie können die Grenzwerte für das Autoscaling von Managed Service for Apache Spark on GKE-Knotenpools festlegen, wenn Sie einen virtuellen Managed Service for Apache Spark on GKE-Cluster erstellen. Wenn nicht anders angegeben, werden Managed Service for Apache Spark on GKE-Knotenpools mit Standardwerten automatisch skaliert. Bei der GA-Version von Managed Service for Apache Spark on GKE sind die Standardwerte auf „Minimum = 1“ und „Maximum = 10“ festgelegt. Diese Werte können sich ändern. Wenn Sie bestimmte Werte für das Autoscaling von Knotenpools festlegen möchten, geben Sie diese beim Erstellen des virtuellen Managed Service for Apache Spark on GKE-Clusters an.

Autoscaling für Knotenpools aktualisieren

Verwenden Sie den folgenden GKE gcloud container node-pools update Befehl, um die Autoscaling-Konfiguration eines Managed Service for Apache Spark 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 Autoscaling von Spark

  1. Wenn ein Job gesendet wird, wird der Treiber-Pod für die Ausführung im Knotenpool geplant, der mit der Rolle des Spark-Treibersverknüpft ist.
  2. Der Treiber-Pod ruft den GKE-Planer auf, um Executor-Pods zu erstellen.
  3. Executor-Pods werden im Knotenpool geplant, der mit der Rolle des Spark-Executors verknüpft 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 nach oben, um die angeforderten Ressourcen bereitzustellen, bis zum vom Nutzer angegebenen Limit. Wenn Knotenpools über eine Überkapazität verfügen, skaliert der GKE-Cluster-Autoscaler den Knotenpool auf das vom Nutzer angegebene Limit herunter.