Dataproc en grupos de nodos de GKE

Cuando create o actualizar en un clúster virtual de Dataproc on GKE, debes especificar 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 no existe un grupo de nodos especificado en tu clúster de GKE, Dataproc en 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 la siguiente configuración en los grupos de nodos que usa tu Dataproc en los clústeres virtuales de 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:

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 estar 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 el ejecutor de Spark, con un rol predeterminado definido para todos los tipos de trabajo de 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. La asignación de otros roles es opcional.

Recomendación: Crea grupos de nodos separados para cada tipo de rol, con el tipo y el tamaño de nodo según los requisitos del rol.

Ejemplo de creación de clústeres virtuales 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"