创建或更新 Dataproc on GKE 虚拟集群时,您可以指定一个或多个节点池,供虚拟集群用于运行作业(此集群称为“由指定节点池使用”或“关联”的集群)。如果您的 GKE 集群中不存在指定的节点池,Dataproc on GKE 将使用您指定的设置在 GKE 集群上创建节点池。如果节点池存在并且是由 Dataproc 创建的,则系统将对其进行验证,以确认其设置与指定设置匹配。
Dataproc on GKE 节点池设置
您可以对 Dataproc on GKE 虚拟集群使用的节点池指定以下设置(这些设置是 GKE 节点池设置的一部分):
accelerators
acceleratorCount
acceleratorType
gpuPartitionSize
*localSsdCount
machineType
minCpuPlatform
minNodeCount
maxNodeCount
preemptible
spot
*
备注:
- 可以在 Dataproc API
GkeNodePoolAcceleratorConfig
中设置gpuPartitionSize
。 - 您可以在 Dataproc API GkeNodeConfig 中设置
spot
。
删除节点池
删除 Dataproc on GKE 集群时,该集群使用的节点池不会被删除。请参阅删除节点池以删除 Dataproc on GKE 集群不再使用的节点池。
节点池位置
您可以在创建或更新虚拟集群时,指定与 Dataproc on GKE 虚拟集群关联的节点池的可用区位置。节点池区域必须位于关联虚拟集群的区域中。
角色到节点池的映射
我们为 Spark 驱动程序和执行程序工作定义了节点池角色,并为节点池为所有类型的工作定义了一个默认角色。Dataproc on GKE 集群必须至少有一个分配了 default
角色的节点池。您可以选择分配其他角色。
建议:为每个角色类型创建单独的节点池,节点类型和大小取决于角色要求。
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"