Cuando creas o actualizas un clúster virtual de Dataproc on GKE, especificas uno o más grupos de nodos que el clúster virtual usará para ejecutar trabajos (este clúster se denomina clúster “usado por” o “asociado” con los grupos de nodos especificados). Si un grupo de nodos especificado no existe en tu clúster de GKE, Dataproc on GKE creará el grupo de nodos en el clúster de GKE con la configuración que especifiques. Si el grupo de nodos existe y fue creado por Dataproc, se validará para confirmar que su configuración coincida con la configuración especificada.
Configuración del grupo de nodos de Dataproc on GKE
Puedes especificar la siguiente configuración en los grupos de nodos que usan tus clústeres virtuales de Dataproc on GKE (esta configuración es un subconjunto de la configuración del grupo de nodos de GKE):
accelerators
acceleratorCount
acceleratorType
gpuPartitionSize
*localSsdCount
machineType
minCpuPlatform
minNodeCount
maxNodeCount
preemptible
spot
*
Notas:
gpuPartitionSize
se puede configurar en la API deGkeNodePoolAcceleratorConfig
de Dataproc.spot
se puede configurar en la API de Dataproc GkeNodeConfig.
Eliminación de grupos de nodos
Cuando se borra un clúster de Dataproc on GKE, los grupos de nodos que usa el clúster no se borran. Consulta Borra un grupo de nodos para borrar grupos de nodos que Dataproc ya no usa en clústeres de GKE.
Ubicación del grupo de nodos
Puedes especificar la ubicación de la zona de los grupos de nodos asociados con tu clúster virtual de Dataproc on GKE cuando crees o actualices el clúster virtual. Las zonas del grupo de nodos deben estar ubicadas en la región del clúster virtual asociado.
Asignación de rol a grupo de nodos
Las funciones del grupo de nodos se definen para el trabajo del controlador y ejecutor de Spark, con una función predeterminada definida para todos los tipos de trabajo por un grupo de nodos. Los clústeres de Dataproc on GKE deben tener al menos un grupo de nodos al que se le asigne la función default
.
Asignar otros roles es opcional.
Recomendación: Crea grupos de nodos separados para cada tipo de función, con el tipo y el tamaño de nodo según los requisitos de la función.
Ejemplo de creación de un clúster virtual de 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"