Cuando creas o actualizas un clúster virtual de Managed Service para Apache Spark en GKE, especificas uno o más grupos de nodos que el clúster virtual usará para ejecutar trabajos (este clúster se conoce como el 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, Managed Service para Apache Spark 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 lo creó Managed Service para Apache Spark, se validará para confirmar que su configuración coincida con la especificada.
Configuración del grupo de nodos de Managed Service para Apache Spark en GKE
Puedes especificar los siguientes parámetros de configuración en los grupos de nodos que usan tus clústeres virtuales de Managed Service para Apache Spark en GKE (estos parámetros de configuración son un subconjunto de los parámetros de configuración del grupo de nodos de GKE):
acceleratorsacceleratorCountacceleratorTypegpuPartitionSize*localSsdCountmachineTypeminCpuPlatformminNodeCountmaxNodeCountpreemptiblespot*
Notas:
gpuPartitionSizese puede configurar en la API de Managed Service para Apache SparkGkeNodePoolAcceleratorConfig.spotse puede configurar en GkeNodeConfig de la API de Managed Service para Apache Spark.
Eliminación de grupos de nodos
Cuando se borra un clúster de Managed Service para Apache Spark en GKE, no se borran los grupos de nodos que usa el clúster. Consulta Borra un grupo de nodos para borrar los grupos de nodos que ya no usa Managed Service para Apache Spark 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 Managed Service para Apache Spark en GKE cuando creas o actualizas 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 el ejecutor de Spark, con un rol predeterminado definido para todos los tipos de trabajo por un grupo de nodos. Los clústeres de Managed Service para Apache Spark en GKE deben tener al menos un grupo de nodos al que se le asigne el rol 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úster virtual con 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"