Para escalonar um cluster do Dataproc no GKE, atualize a configuração do escalonador automático dos pools de nós associados às funções de driver ou executor do Spark. Você especifica os pools de nós e as funções associadas do Dataproc no GKE ao criar um cluster do Dataproc no GKE.
Definir o escalonamento automático do pool de nós
É possível definir os limites do escalonamento automático do pool de nós do Dataproc no GKE ao criar um cluster virtual do Dataproc no GKE. Se não for especificado, os pools de nós do Dataproc no GKE serão escalonados automaticamente com valores padrão. Na versão GA do Dataproc no GKE, os padrões são definidos como mínimo = 1 e máximo = 10, que estão sujeitos a mudanças. Para obter valores específicos de escalonamento automático mínimo e máximo do pool de nós, defina-os ao criar o cluster virtual do Dataproc no GKE.
Atualizar o escalonamento automático do pool de nós
Use o seguinte comando do GKE
gcloud container node-pools update
para mudar a configuração de escalonamento automático de um pool de nós do Dataproc no GKE.
gcloud container node-pools update NODE_POOL_NAME \ --cluster=GKE_CLUSTER_NAME \ --region=region \ --enable-autoscaling \ --min-nodes=min nodes (must be <= max-nodes) \ --max-nodes=max nodes (must be >= min-nodes) \
Como funciona o escalonamento automático do Spark
- Quando um job é enviado, o pod do driver é programado para ser executado no pool de nós associado à função de driver do Spark.
- O pod de driver chama o programador do GKE para criar pods de executor.
- Os pods executores são programados no pool de nós associado à função de executor do Spark.
- Se os pools de nós tiverem capacidade para os pods, eles vão começar a ser executados imediatamente. Se a capacidade for insuficiente, o escalonador automático de cluster do GKE vai aumentar o pool de nós para fornecer os recursos solicitados, até o limite especificado pelo usuário. Quando os pools de nós têm capacidade excedente, o escalonador automático de cluster do GKE reduz o pool de nós até o limite especificado pelo usuário.