Managed Service for Apache Spark on GKE 仮想クラスタを作成または更新するときは、仮想クラスタがジョブの実行に使用するノードプールを 1 つ以上指定します(このクラスタは、指定したノードプールに「使用」または「関連付け」されるクラスタと呼ばれます)。指定したノードプールが GKE クラスタに存在しない場合、Managed Service for Apache Spark on GKE は指定した設定で GKE クラスタにノードプールを作成します。ノードプールが存在し、Managed Service for Apache Spark によって作成された場合は、その設定が指定された設定と一致することを確認するために検証されます。
Managed Service for Apache Spark on GKE ノードプールの設定
Managed Service for Apache Spark on GKE 仮想クラスタで使用されるノードプールに、次の設定を指定できます(これらの設定は、GKE ノードプールの設定のサブセットです)。
acceleratorsacceleratorCountacceleratorTypegpuPartitionSize*localSsdCountmachineTypeminCpuPlatformminNodeCountmaxNodeCountpreemptiblespot*
注:
gpuPartitionSizeは、Managed Service for Apache Spark APIGkeNodePoolAcceleratorConfigで設定できます。spotは、Managed Service for Apache Spark API GkeNodeConfig で設定できます。
ノードプールの削除
Managed Service for Apache Spark on GKE クラスタが削除されても、クラスタで使用されているノードプールは削除されません。Managed Service for Apache Spark on GKE クラスタで使用されていないノードプールを削除するには、ノードプールを削除するをご覧ください。
ノードプールのロケーション
仮想クラスタを作成または更新する際には、Managed Service for Apache Spark on GKE 仮想クラスタに関連付けられたノードプールのゾーンのロケーションを指定できます。ノードプール ゾーンは、関連する仮想クラスタのリージョンに配置する必要があります。
ノードプールのロールのマッピング
ノードプールのロールは、Spark のドライバとエグゼキュータの動作に対して定義され、ノードプールのすべての種類の作業に対してデフォルトのロールが定義されます。Managed Service for Apache Spark on GKE クラスタには、default ロールが割り当てられているノードプールが少なくとも 1 つ必要です。他のロールの割り当ては任意です。
推奨: ロールの要件に基づいたノードタイプとノードサイズを使って、ロールタイプごとに個別のノードプールを作成します。
gcloud CLI 仮想クラスタの作成例:
gcloud dataproc clusters gke create "${DP_CLUSTER}" \
--region=${REGION} \
--gke-cluster=${GKE_CLUSTER} \
--spark-engine-version=latest \
--staging-bucket=${BUCKET} \
--pools="name=${DP_POOLNAME},roles=default \
--setup-workload-identity
--pools="name=${DP_CTRL_POOLNAME},roles=default,machineType=e2-standard-4" \
--pools="name=${DP_DRIVER_POOLNAME},min=1,max=3,roles=spark-driver,machineType=n2-standard-4" \
--pools="name=${DP_EXEC_POOLNAME},min=1,max=10,roles=spark-executor,machineType=n2-standard-8"