Ao create ou atualizar um cluster virtual do Dataproc no GKE, você especifica um ou mais pools de nós que o cluster virtual vai usar para executar jobs. Esse cluster é chamado de "usado por" ou "associado" aos pools de nós especificados. Se um pool de nós especificado não existir no cluster do GKE, o Dataproc no GKE vai criar o pool de nós no cluster do GKE com as configurações especificadas. Se o pool de nós existir e tiver sido criado pelo Dataproc, ele será validado para confirmar se as configurações correspondem às especificadas.
Configurações do pool de nós do Dataproc no GKE
É possível especificar as seguintes configurações em pools de nós usados pelo Dataproc em clusters virtuais do GKE. Essas configurações são um subconjunto das configurações do pool de nós do GKE:
accelerators
acceleratorCount
acceleratorType
gpuPartitionSize
*localSsdCount
machineType
minCpuPlatform
minNodeCount
maxNodeCount
preemptible
spot
*
Observações:
- O
gpuPartitionSize
pode ser definido na API DataprocGkeNodePoolAcceleratorConfig
. spot
pode ser definido na GkeNodeConfig da API Dataproc.
Exclusão do pool de nós
Quando um cluster do Dataproc no GKE é excluído, os pools de nós usados por ele 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 em uso pelo Dataproc em clusters do GKE.
Local do pool de nós
É possível especificar o local da zona de 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.
Mapeamento de papéis para o pool de nós
Os papéis do pool de nós
são definidos para o trabalho do driver e do executor do Spark, com um papel padrão
definido para todos os tipos de trabalho por um pool de nós. O Dataproc em clusters do GKE precisa ter
pelo menos um pool de nós atribuído ao papel default
.
A atribuição de outras funções é opcional.
Recomendação:crie pools de nós separados para cada tipo de função, com o tipo e o tamanho do nó com base nos requisitos da função.
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"