Dataproc em pools de nós do GKE

Ao criar ou atualizar um Dataproc no cluster virtual do GKE, você especifica um ou mais pools de nós que o cluster virtual usará para executar jobs. Esse cluster é chamado de cluster usado por os pools de nós especificados. Se não houver um pool de nós especificado no cluster do GKE, o Dataproc no GKE criará o pool no cluster do GKE com as configurações especificadas. Se o pool de nós existir, ele será validado para confirmar se as configurações correspondem às especificadas.

Configurações do Dataproc no pool de nós do GKE

É possível especificar as seguintes configurações nos pools de nós usados pelo Dataproc nos clusters virtuais do GKE. Essas configurações são um subconjunto de configurações do pool de nós do GKE:

  • accelerators
  • acceleratorCount
  • acceleratorType
  • gpuPartitionSize*
  • localSsdCount
  • machineType
  • minCpuPlatform
  • minNodeCount
  • maxNodeCount
  • preemptible
  • spot*

Observações:

Exclusão do pool de nós

Quando um Dataproc no cluster do GKE é excluído, os pools de nós usados pelo cluster não são excluídos. Consulte Excluir um pool de nós para excluir pools de nós que não estão mais sendo usados pelo Dataproc em clusters do GKE.

Local do pool de nós

É possível especificar o local da zona dos pools de nós associados ao Dataproc no cluster virtual do GKE ao criar ou atualizar o cluster virtual. As zonas do pool de nós precisam estar localizadas na região do cluster virtual associado.

Papel no mapeamento de pools de nós

Os papéis do pool de nós são definidos para o trabalho do executor e do executor do Spark, com um papel padrão definido para todos os tipos de trabalho por um pool de nós. Os clusters do Dataproc no GKE precisam ter pelo menos um pool de nós com o papel default. A atribuição de outros papéis é opcional.

Recomendação: crie pools de nós separados para cada tipo de papel, com tipo e tamanho de nós com base nos requisitos do papel.

Exemplo de criação de cluster virtual da CLI 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"