Cuando create o actualizar un clúster virtual de Dataproc on GKE, especificas uno o más grupos de nodos que que el clúster virtual usará para ejecutar trabajos (este clúster se conoce como 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 Dataproc lo creó, se validará para confirmar que la configuración coincida con la especificada.
Configuración del grupo de nodos de Dataproc en GKE
Puedes especificar lo siguiente configuración en los grupos de nodos que usan tus clústeres virtuales de Dataproc on GKE (estos son un subconjunto de 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 de DataprocGkeNodePoolAcceleratorConfig
spot
se puede configurar en la API de Dataproc GkeNodeConfig.
Eliminación de grupos de nodos
Cuando se borra un clúster de Dataproc en GKE, no se borran los grupos de nodos que usa el clúster. Consulta Cómo borrar un grupo de nodos para borrar los grupos de nodos que Dataproc ya no usa en los 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 en GKE cuando creas o actualizas el clúster virtual. Las zonas del grupo de nodos deben ser ubicado en la región del clúster virtual asociado.
Asignación de roles a grupos de nodos
Funciones del grupo de nodos
se definen para el trabajo de controlador y ejecutor de Spark, con un rol predeterminado
definidos 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 asigna la función default
Asignar otros roles es opcional.
Recomendación: Crea grupos de nodos independientes para cada tipo de rol con el tipo de nodo y tamaño según 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"