Cuando creas o actualizas un clúster virtual de Dataproc en GKE, especificas uno o varios grupos de nodos que el clúster virtual usará para ejecutar trabajos (este clúster se denomina "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 en GKE creará el grupo de nodos en el clúster de GKE con los ajustes que especifiques. Si el grupo de nodos existe y lo ha creado Dataproc, se validará para confirmar que su configuración coincide con la especificada.
Configuración del grupo de nodos de Dataproc en GKE
Puedes especificar los siguientes ajustes en los grupos de nodos que utilizan tus clústeres virtuales de Dataproc en GKE (estos ajustes son un subconjunto de los ajustes de grupos de nodos de GKE):
accelerators
acceleratorCount
acceleratorType
gpuPartitionSize
*localSsdCount
machineType
minCpuPlatform
minNodeCount
maxNodeCount
preemptible
spot
*
Notas:
gpuPartitionSize
se puede definir en la API de DataprocGkeNodePoolAcceleratorConfig
.spot
se puede definir en GkeNodeConfig de la API de Dataproc.
Eliminación de grupos de nodos
Cuando se elimina un clúster de Dataproc en GKE, no se eliminan los grupos de nodos que usa el clúster. Consulta Eliminar un grupo de nodos para eliminar los grupos de nodos que ya no utilicen los clústeres de Dataproc en GKE.
Ubicación del grupo de nodos
Puedes especificar la zona de los grupos de nodos asociados a tu clúster virtual de Dataproc en GKE al crear o actualizar 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 roles a grupos de nodos
Los roles del grupo de nodos se definen para el trabajo del controlador y del ejecutor de Spark, y se define un rol predeterminado para todos los tipos de trabajo de un grupo de nodos. Los clústeres de Dataproc en GKE deben tener al menos un grupo de nodos al que se le haya asignado el rol default
.
Asignar otros roles es opcional.
Recomendación: Crea grupos de nodos independientes para cada tipo de rol, con el tipo y el tamaño de nodo en función de los requisitos del rol.
Ejemplo de creación de un clúster virtual con la CLI de gcloud:
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"