Escalonar ambientes

Cloud Composer 1 | Cloud Composer 2

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

Para mais informações sobre como o escalonamento do ambiente funciona, consulte Escalonamento do ambiente.

Escalonar vertical e horizontalmente

No Cloud Composer 1, você não define recursos específicos de CPU e memória para componentes do Cloud Composer e Airflow, como workers e programadores. Em vez disso, você especifica o número e o tipo de máquinas para os nós no cluster do seu ambiente.

Opções de escalonamento horizontal:

Opções para escalonamento vertical:

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 os programadores e outros componentes do ambiente.

Console

  1. Acesse a página Ambientes no console do Google Cloud:

    Acessar a página "Ambientes"

  2. Selecione o ambiente.

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

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

  5. Na caixa de diálogo 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 Save.

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 pelo nome do ambiente
  • LOCATION pela região em que o ambiente está localizado;
  • NODE_COUNT pelo número de nós; O número mínimo de nós é 3.
  • NODE_ZONE pela 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 pelo 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 pelo 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 número de programadores

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.

É possível especificar vários programadores até o número de nós no ambiente.

Aumentar o número de programadores nem sempre melhora o desempenho do Airflow. Por exemplo, ter apenas um programador pode proporcionar um desempenho melhor do que com dois. Isso pode acontecer quando o programador extra não é utilizado e, portanto, 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. Se você alterar o número de programadores, será possível escalonar o ambiente novamente para o número original de programadores.

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

Console

  1. Acesse a página Ambientes no console do Google Cloud:

    Acessar a página "Ambientes"

  2. Selecione o ambiente.

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

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

  5. Na caixa de diálogo Configuração do programador, no campo Número de programadores, especifique o número de programadores para o seu ambiente.

  6. Clique em Save.

gcloud

Execute o seguinte comando da Google Cloud CLI:

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

Substitua:

  • ENVIRONMENT_NAME pelo nome do ambiente
  • LOCATION pela região em que o ambiente está localizado;
  • SCHEDULER_COUNT pelo número de programadores.

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.softwareConfig.schedulerCount.

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

{
  "config": {
    "softwareConfig": {
      "schedulerCount": SCHEDULER_COUNT
    }
}

Substitua:

  • SCHEDULER_COUNT pelo número de programadores.

Exemplo:

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

{
  "config": {
    "softwareConfig": {
      "schedulerCount": 2
    }
}

Terraform

O campo scheduler_count no bloco software_config especifica o número de programadores no seu ambiente.

Esse campo está disponível apenas nos ambientes do Cloud Composer 1 que usam o Airflow 2.

resource "google_composer_environment" "example" {

  config {
    software_config {
      scheduler_count = SCHEDULER_COUNT
    }
  }
}

Substitua:

  • SCHEDULER_COUNT pelo número de programadores.

Exemplo:

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

  config {
    software_config {
      scheduler_count = 2
    }
  }
}

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

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

Console

  1. Acesse a página Ambientes no console do Google Cloud:

    Acessar a página "Ambientes"

  2. Selecione o ambiente.

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

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

  5. Na caixa de diálogo 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 Save.

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. Acesse a página Ambientes no console do Google Cloud:

    Acessar a página "Ambientes"

  2. Selecione o ambiente.

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

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

  5. Na caixa de diálogo 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 Save.

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 da 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