Escalonar ambientes

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Nesta página, descrevemos como escalonar ambientes do Cloud Composer.

Escalonar vertical e horizontalmente

No Cloud Composer 1, não é possível definir recursos específicos de CPU e memória para componentes do Cloud Composer e do Airflow, como workers e programadores. Em vez disso, especifique o número e o tipo de máquinas para nós no cluster do ambiente.

Opções de escalonamento horizontal:

  • Ajustar o número de nós
  • Ajustar o número de programadores

Opções para escalonamento vertical:

  • Ajustar o tipo de máquina da instância do Cloud SQL
  • Ajustar o tipo de máquina do servidor da Web

Ajustar parâmetros do programador

Seu ambiente pode executar mais de um programador do Airflow ao mesmo tempo. Use vários programadores para distribuir a carga entre várias instâncias do programador e tenha melhor desempenho e confiabilidade.

Se o ambiente usar o Airflow 2, é possível especificar um número de programadores até o número de nós no ambiente.

Ao escalonar schedulers, use as seguintes considerações:

  • Aumentar o número de programadores nem sempre melhora o desempenho do Airflow.

    Por exemplo, isso pode acontecer quando o programador extra não é utilizado e consome recursos do seu ambiente sem contribuir com o desempenho geral. O desempenho real do programador depende do número de workers do Airflow, do número de DAGs e tarefas executados no ambiente e da configuração do Airflow e do ambiente.

  • Recomendamos começar com dois programadores e depois monitorar o desempenho do ambiente.

Para mais informações sobre como configurar vários programadores, consulte a documentação do Airflow.

Console

  1. No console Google Cloud , acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. No item Recursos > Configuração de cargas de trabalho, clique em Editar.

  5. No item Recursos > Número de programadores, clique em Editar.

  6. No painel Configuração do programador, no campo Número de programadores, especifique o número de programadores para seu ambiente.

  7. Clique em Salvar.

gcloud

Os seguintes parâmetros do programador do Airflow estão disponíveis:

  • --scheduler-count: o número de programadores no seu ambiente.

Execute o seguinte comando da Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --scheduler-count SCHEDULER_COUNT

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.

Exemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-count 2

API

  1. Crie uma solicitação de API environments.patch.

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique a máscara config.workloadsConfig.schedulerCount.

    2. No corpo da solicitação, especifique o número de programadores para seu ambiente.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": SCHEDULER_COUNT
    }
  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.

  • SCHEDULER_COUNT: o número de programadores.

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.scheduler

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": 2
    }
  }
}

Terraform

Os campos a seguir no bloco workloads_config.scheduler controlam os parâmetros do programador do Airflow. Cada programador usa a quantidade especificada de recursos.

  • scheduler.count: o número de programadores no seu ambiente.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      scheduler {
        count = SCHEDULER_COUNT
      }
    }

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.

  • SCHEDULER_COUNT: o número de programadores.

Exemplo:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      scheduler {
        
        count = 2
      }
    }

  }
}

Ajustar o número de nós

É possível alterar o número de nós no ambiente.

Esse número corresponde ao número de workers do Airflow no seu ambiente. Além de executar workers do Airflow, os nós de ambiente também executam programadores do Airflow e outros componentes do ambiente.

Console

  1. No console Google Cloud , acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. No item Nós de trabalho > Contagem de nós, clique em Editar.

  5. No painel Configuração de nós de trabalho, no campo Contagem de nós, especifique o número de nós no seu ambiente.

  6. Clique em Salvar.

gcloud

O argumento --node-count controla o número de nós no seu ambiente:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --zone NODE_ZONE \
    --node-count NODE_COUNT

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • NODE_COUNT: o número de nós. O número mínimo de nós é 3.
  • NODE_ZONE: a zona do Compute Engine para as VMs do ambiente.

Exemplo:

gcloud composer environments update example-environment \
    --location us-central1 \
    --zone us-central1-a \
    --node-count 6

API

  1. Crie uma solicitação de API environments.patch.

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique a máscara config.nodeCount.

    2. No corpo da solicitação, especifique o número de nós do seu ambiente.

  "config": {
    "nodeCount": NODE_COUNT
  }

Substitua:

  • NODE_COUNT: o número de nós. O número mínimo de nós é 3.

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.nodeCount

"config": {
  "nodeCount": 6
}

Terraform

O campo node_count no bloco node_config especifica o número de nós no seu ambiente.

resource "google_composer_environment" "example" {

  config {
    node_config {
      node_count = NODE_COUNT
    }
}

Substitua:

  • NODE_COUNT: o número de nós.

Exemplo:

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  config {

    node_config {
      node_count = 4
    }

}

Ajustar o tipo de máquina da instância do Cloud SQL

É possível mudar o tipo de máquina da instância do Cloud SQL que armazena o banco de dados do Airflow do seu ambiente.

Console

  1. No console Google Cloud , acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. No item Recursos > Tipo de máquina do Cloud SQL, clique em Editar.

  5. No painel Configuração do Cloud SQL, na lista suspensa Tipo de máquina do Cloud SQL, selecione o tipo de máquina para a instância do Cloud SQL do seu ambiente.

  6. Clique em Salvar.

gcloud

Os argumentos --cloud-sql-machine-type controlam o tipo de máquina da instância do Cloud SQL no seu ambiente.

Execute o seguinte comando da Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --cloud-sql-machine-type SQL_MACHINE_TYPE

Substitua:

Exemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --cloud-sql-machine-type db-n1-standard-2

API

  1. Crie uma solicitação de API environments.patch.

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique a máscara config.databaseConfig.machineType.

    2. No corpo da solicitação, especifique o tipo de máquina para a instância do Cloud SQL.

{
  "config": {
    "databaseConfig": {
      "machineType": "SQL_MACHINE_TYPE"
    }
  }
}

Substitua:

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.databaseConfig.machineType

{
  "config": {
    "databaseConfig": {
      "machineType": "db-n1-standard-2"
    }
  }
}

Terraform

O campo machine_type no bloco database_config especifica o tipo de máquina para a instância do Cloud SQL.

resource "google_composer_environment" "example" {

  config {
    database_config {
      machine_type = "SQL_MACHINE_TYPE"
    }
  }
}

Substitua:

Exemplo:

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  config {
    database_config {
      machine_type = "db-n1-standard-2"
    }
}

Ajustar o tipo de máquina do servidor da Web

É possível alterar o tipo de máquina do servidor da Web do Airflow do seu ambiente.

Console

  1. No console Google Cloud , acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. No item Recursos > Tipo de máquina do servidor da Web, clique em Editar.

  5. No painel Configuração do servidor da Web, na lista suspensa Tipo de máquina do servidor da Web, selecione o tipo de máquina do servidor da Web do Airflow.

  6. Clique em Salvar.

gcloud

Os argumentos --web-server-machine-type controlam o tipo de máquina da instância do servidor da Web do Airflow no ambiente.

Execute o seguinte comando da Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-machine-type WS_MACHINE_TYPE

Substitua:

Exemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-machine-type composer-n1-webserver-2

API

  1. Crie uma solicitação de API environments.patch.

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique a máscara config.webServerConfig.machineType.

    2. No corpo da solicitação, especifique o tipo de máquina para o servidor da Web.

{
  "config": {
    "webServerConfig": {
      "machineType": "WS_MACHINE_TYPE"
    }
  }
}

Substitua:

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.webServerConfig.machineType

{
  "config": {
    "webServerConfig": {
      "machineType": "composer-n1-webserver-2"
    }
  }
}

Terraform

O campo machine_type no bloco web_server_config especifica o tipo de máquina para a instância do servidor da Web do Airflow.

resource "google_composer_environment" "example" {

  config {
    web_server_config {
      machine_type = "WS_MACHINE_TYPE"
    }
  }
}

Substitua:

Exemplo:

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  config {
    web_server_config {
      machine_type = "composer-n1-webserver-2"
    }
}

A seguir