Ao criar ou atualizar um cluster virtual do Serviço gerenciado para Apache Spark no GKE, você especifica um ou mais pools de nós que o cluster virtual vai usar para executar jobs. Esse cluster é chamado de cluster "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 Managed Service para Apache Spark 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 Serviço Gerenciado para Apache Spark, ele será validado para confirmar se as configurações correspondem às especificadas.
Configurações do pool de nós do Serviço Gerenciado para Apache Spark no GKE
É possível especificar as seguintes configurações nos pools de nós usados pelos clusters virtuais do Serviço gerenciado para Apache Spark no GKE. Essas configurações são um subconjunto das configurações do pool de nós do GKE:
acceleratorsacceleratorCountacceleratorTypegpuPartitionSize*localSsdCountmachineTypeminCpuPlatformminNodeCountmaxNodeCountpreemptiblespot*
Observações:
gpuPartitionSizepode ser definido na API do Serviço Gerenciado para Apache SparkGkeNodePoolAcceleratorConfig.spotpode ser definido na API Serviço Gerenciado para Apache Spark GkeNodeConfig.
Exclusão do pool de nós
Quando um cluster do Serviço Gerenciado para Apache Spark 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 são mais usados pelo Serviço Gerenciado para Apache Spark em clusters do GKE.
Local do pool de nós
É possível especificar o local da zona dos pools de nós associados ao cluster virtual do Serviço Gerenciado para Apache Spark no 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 função para pool de nós
As funções do pool de nós
são definidas para o trabalho do driver e do executor do Spark, com uma função padrão
definida para todos os tipos de trabalho por um pool de nós. Os clusters do Serviço Gerenciado para Apache Spark no GKE precisam ter
pelo menos um pool de nós atribuído à função default.
A atribuição de outras funções é opcional.
Recomendação:crie pools de nós separados para cada tipo de função, com tipo e tamanho de 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"