Escalonar ambientes

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Esta página descreve como escalonar ambientes do Cloud Composer.

Outras páginas sobre escalonamento:

Dimensionar vertical e horizontalmente

Opções de escalonamento horizontal:

  • Ajuste o número mínimo e máximo de workers.
  • Ajustar o número de programadores e acionadores.

Opções para escalonamento vertical:

  • Ajustar os parâmetros de escala e desempenho do worker, do programador, do acionador e do servidor da Web.
  • Ajuste o tamanho do ambiente.

Limites de recurso

Componente Contagem mínima Contagem máxima vCPU mínima vCPU máxima Etapa mínima da vCPU Memória mínima (GB) Memória máxima (GB) Etapa mínima de memória (GB) Memória mínima por 1 vCPU (GB) Memória máxima por 1 vCPU (GB) Armazenamento mínimo (GB) Armazenamento máximo (GB) Etapa mínima de armazenamento (GB)
Programadores 1 10 0,5 28 0,25 0,5 80 - 1 6,5 0,05 10 -
Acionadores 0 10 0,5 1 0,25 0,5 80 - 1 6,5 - - -
Servidor da Web - - 0,5 28 0,25 1 80 - 1 6,5 0,05 10 -
Workers 1 100 0,5 28 0,25 0,5 80 - 1 6,5 0,05 10 -

Ajustar os parâmetros do worker

É possível definir o número mínimo e máximo de workers no ambiente. O Cloud Composer faz o escalonamento automático do ambiente dentro dos limites definidos. É possível ajustar esses limites a qualquer momento.

O Airflow pode especificar a quantidade de CPUs, memória e espaço em disco usados pelo Airflow funcionários do seu ambiente. Dessa forma, você pode aumentar o desempenho em um ambiente de nuvem, além do escalonamento horizontal fornecido por vários trabalhadores

Console

  1. No console do 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, faça o seguinte: Clique em Editar.

  5. No painel Configuração de cargas de trabalho, ajuste os parâmetros para o Airflow. trabalhadores:

    • No campo Número mínimo de workers, especifique o número de workers do Airflow que o ambiente precisa sempre executar. O número de workers no ambiente não fica abaixo desse número durante a operação regular do ambiente, mesmo que um número menor de workers possa processar a carga.

    • No campo Número máximo de workers, especifique o número máximo de workers do Airflow que o ambiente pode executar. O número de workers no ambiente não ultrapassa esse número, mesmo que seja necessário um número maior de workers para processar a carga.

    • Nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, memória e armazenamento para os workers do Airflow. Cada worker usa a quantidade especificada de recursos.

  6. Clique em Salvar.

gcloud

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

  • --min-workers: o número de workers do Airflow que seu ambiente precisa executar sempre. O número de workers no ambiente não fica abaixo desse número, mesmo que um número menor de workers possa processar a carga.
  • --max-workers: o número máximo de workers do Airflow que seu onde o ambiente de execução pode ser executado. O número de workers no ambiente não ultrapassa esse número, mesmo que seja necessário um número maior de workers para processar a carga.
  • --worker-cpu: o número de CPUs para um worker do Airflow.
  • --worker-memory: a quantidade de memória para um worker do Airflow.
  • --worker-storage: a quantidade de espaço em disco para um worker do Airflow.

Execute o seguinte comando da Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --min-workers WORKERS_MIN \
  --max-workers WORKERS_MAX \
  --worker-cpu WORKER_CPU \
  --worker-memory WORKER_MEMORY \
  --worker-storage WORKER_STORAGE

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WORKERS_MIN: o número mínimo de workers do Airflow.
  • WORKERS_MAX: o número máximo de workers do Airflow.
  • WORKER_CPU: o número de CPUs de um worker em unidades de vCPU.
  • WORKER_MEMORY: a quantidade de memória para um worker.
  • WORKER_STORAGE: o tamanho do disco de um worker.

Exemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --min-workers 2 \
  --max-workers 6 \
  --worker-cpu 1 \
  --worker-memory 2 \
  --worker-storage 2

API

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

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique os campos que você quer atualizar. Por exemplo, para atualizar todos para workers, especifique Máscara config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.

    2. No corpo da solicitação, especifique os novos parâmetros do worker.

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": WORKERS_MIN,
      "maxCount": WORKERS_MAX,
      "cpu": WORKER_CPU,
      "memoryGb": WORKER_MEMORY,
      "storageGb": WORKER_STORAGE
    }
  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WORKERS_MIN: o número mínimo de workers do Airflow.
  • WORKERS_MAX: o número máximo de workers do Airflow.
  • WORKER_CPU: o número de CPUs de um worker em unidades de vCPU.
  • WORKER_MEMORY: a quantidade de memória de um worker em GB.
  • WORKER_STORAGE: o tamanho do disco de um worker em GB.

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.worker.minCount,
// config.workloadsConfig.worker.maxCount
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGB

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": 2,
      "maxCount": 6,
      "cpu": 1,
      "memoryGb": 2,
      "storageGb": 2
    }
  }
}

Terraform

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

  • worker.min_count: o número de workers do Airflow que seu ambiente precisa executar sempre. O número de workers no ambiente não fica abaixo do esse número, mesmo que um número menor de workers possa lidar com a carga.
  • worker.max_count: o número máximo de workers do Airflow que o ambiente pode executar. O número de workers no ambiente não ultrapassa esse número, mesmo que seja necessário um número maior de workers para processar a carga.
  • worker.cpu: o número de CPUs para um worker do Airflow.
  • O worker.memory_gb: a quantidade de memória para um worker do Airflow.
  • O worker.storage_gb: a quantidade de espaço em disco para um worker do Airflow.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      worker {
        min_count = WORKERS_MIN
        max_count = WORKERS_MAX
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
      }
    }

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WORKERS_MIN: o número mínimo de workers do Airflow.
  • WORKERS_MAX: o número máximo de workers do Airflow.
  • WORKER_CPU: o número de CPUs de um worker em unidades de vCPU.
  • WORKER_MEMORY: a quantidade de memória de um worker em GB.
  • WORKER_STORAGE: o tamanho do disco de um worker em GB.

Exemplo:

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

  config {

    workloads_config {
      worker {
        min_count = 2
        max_count = 6
        cpu = 1
        memory_gb = 2
        storage_gb = 2
      }
    }

  }
}

Ajustar os 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.

É possível ter até 10 programadores 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.

O Airflow pode especificar a quantidade de CPUs, memória e espaço em disco usados pelo Airflow programadores no seu ambiente. Dessa forma, você pode aumentar o desempenho em seu ambiente, além do escalonamento horizontal fornecido pelo uso de vários programadores.

Console

  1. No console do 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, faça o seguinte: Clique em Editar.

  5. No painel Configuração de cargas de trabalho, ajuste os parâmetros para o Airflow. schedulers:

    • Na lista suspensa Número de programadores, selecione o número de programadores para o ambiente.

    • Nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, memória e armazenamento para programadores do Airflow. Cada programador usa a quantidade especificada de recursos.

  6. 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.

  • --scheduler-cpu: o número de CPUs para um programador do Airflow.

  • --scheduler-memory: a quantidade de memória para um programador do Airflow.

  • --scheduler-storage: a quantidade de espaço em disco para um programador do Airflow.

Execute o seguinte comando da CLI do Google Cloud:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --scheduler-cpu SCHEDULER_CPU \
  --scheduler-memory SCHEDULER_MEMORY \
  --scheduler-storage SCHEDULER_STORAGE \
  --scheduler-count SCHEDULER_COUNT

Substitua:

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

  • SCHEDULER_CPU: o número de CPUs de um programador, em unidades de vCPU.

  • SCHEDULER_MEMORY: a quantidade de memória para um programador.

  • SCHEDULER_STORAGE: o tamanho do disco de um programador.

  • SCHEDULER_COUNT: o número de programadores.

Exemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-cpu 0.5 \
  --scheduler-memory 2.5 \
  --scheduler-storage 2 \
  --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.scheduler para atualizar todos os parâmetros do programador ou apenas o número de programadores. Você também pode atualizar parâmetros individuais do programador, exceto count, especificando uma máscara. Por exemplo, config.workloadsConfig.scheduler.cpu.

    2. No corpo da solicitação, especifique os novos parâmetros do programador.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": SCHEDULER_CPU,
      "memoryGb": SCHEDULER_MEMORY,
      "storageGb": SCHEDULER_STORAGE,
      "count": SCHEDULER_COUNT
    }
  }
}

Substitua:

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

  • SCHEDULER_CPU: o número de CPUs de um programador, em unidades de vCPU.

  • SCHEDULER_MEMORY: a quantidade de memória em GB para um programador.

  • SCHEDULER_STORAGE: o tamanho do disco de um programador, em GB.

  • 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": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2,
      "count": 2
    }
  }
}

Terraform

Os seguintes campos no bloco workloads_config.scheduler controlam o Parâmetros do programador do Airflow. Cada programador usa a quantidade especificada de recursos.

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

  • scheduler.cpu: o número de CPUs para um programador do Airflow.

  • scheduler.memory_gb: a quantidade de memória para um programador do Airflow.

  • scheduler.storage_gb: a quantidade de espaço em disco para um programador.

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

  config {

    workloads_config {
      scheduler {
        cpu = SCHEDULER_CPU
        memory_gb = SCHEDULER_MEMORY
        storage_gb = SCHEDULER_STORAGE
        count = SCHEDULER_COUNT
      }
    }

  }
}

Substitua:

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

  • SCHEDULER_CPU: o número de CPUs de um programador, em unidades de vCPU.

  • SCHEDULER_MEMORY: a quantidade de memória em GB para um programador.

  • SCHEDULER_STORAGE: o tamanho do disco de um programador, em GB.

  • 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 {
        
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
        
        count = 2
      }
    }

  }
}

Ajustar os parâmetros do acionador

Você pode definir o número de acionadores como zero, mas precisa de pelo menos um instância do engatilhador no seu ambiente (ou pelo menos duas em ambientes altamente resilientes ambientes), para usar operadores adiáveis nos DAGs.

Dependendo do modo de resiliência do seu ambiente, há diferentes configurações possíveis para o número de acionadores:

  • Resiliência padrão: é possível executar até 10 acionadores.
  • Alta resiliência: pelo menos dois acionadores, até um máximo de 10.

Mesmo que o número de acionadores seja definido como zero, uma definição de pod do acionador é criado e visível no cluster do ambiente, mas nenhum acionador real cargas de trabalho sejam executadas.

Também é possível especificar a quantidade de CPUs, memória e espaço em disco usados pelo Airflow acionadores em seu ambiente. Dessa forma, você pode aumentar o desempenho em seu ambiente, além do escalonamento horizontal fornecido pelo uso de vários acionadores.

Console

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

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do 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 painel Configuração de cargas de trabalho, ajuste os parâmetros dos acionadores do Airflow:

    1. Na seção Acionador, no campo Número de acionadores, insira o número de acionadores no seu ambiente.

      Se você definir pelo menos um acionador para o ambiente, use também os campos CPU e Memória para configurar a alocação de recursos para os acionadores.

    2. Em CPU e Memória, especifique o número de CPUs, memória e armazenamento para gatilhos do Airflow. Cada acionador usa a quantidade especificada de recursos.

  6. Clique em Salvar.

gcloud

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

  • --triggerer-count: o número de acionadores no seu ambiente.

    • Para ambientes de resiliência padrão, use um valor entre 0 e 10.
    • Para ambientes altamente resilientes, use 0, ou um valor entre 2 e 10
  • --triggerer-cpu: o número de CPUs de um acionador do Airflow.

  • --triggerer-memory: a quantidade de memória para um acionador do Airflow.

Execute o seguinte comando da Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --triggerer-count TRIGGERER_COUNT \
  --triggerer-cpu TRIGGERER_CPU \
  --triggerer-memory TRIGGERER_MEMORY

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • TRIGGERER_COUNT: o número de acionadores.
  • TRIGGERER_CPU: o número de CPUs de um engatilhador, em unidades de vCPU.
  • TRIGGERER_MEMORY: a quantidade de memória de um acionador.

Exemplos:

  • Escalonar para quatro instâncias de acionador:
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 4 \
    --triggerer-cpu 1 \
    --triggerer-memory 1
  ```

- Disable triggerers by setting triggerer count to `0`. This operation
  doesn't require specifying CPU or memory for the triggerers.

```bash
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 0
  ```

API

  1. No parâmetro de consulta updateMask, especifique o Máscara config.workloadsConfig.triggerer.

  2. No corpo da solicitação, especifique os três parâmetros para acionadores.

"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": TRIGGERER_COUNT,
      "cpu": TRIGGERER_CPU,
      "memoryGb": TRIGGERER_MEMORY
    }
  }
}

Substitua:

  • TRIGGERER_COUNT: o número de acionadores.

    • Para ambientes de resiliência padrão, use um valor entre 0 e 10.
    • Para ambientes altamente resilientes, use 0 ou um valor entre 2 e 10.
  • TRIGGERER_CPU: o número de CPUs de um acionador, em unidades de vCPU.

  • TRIGGERER_MEMORY: a quantidade de memória para um acionador.

Exemplos:

  • Desative os acionadores definindo a contagem de acionadores como 0. Essa operação e não exige a especificação de CPU ou memória para os acionadores.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 0
    }
  }
}
  • Escalonar para quatro instâncias de acionador:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 4,
      "cpu": 1,
      "memoryGb": 1
    }
  }
}

Terraform

Os seguintes campos no bloco workloads_config.triggerer controlam o Parâmetros do acionador do Airflow. Cada acionador usa a quantidade especificada de recursos.

  • triggerer.count: o número de acionadores no seu ambiente.

    • Para ambientes de resiliência padrão, use um valor entre 0 e 10.
    • Para ambientes altamente resilientes, use 0, ou um valor entre 2 e 10
  • triggerer.cpu: o número de CPUs para um acionador do Airflow.

  • triggerer.memory_gb: a quantidade de memória para um acionador do Airflow.

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

  config {

    workloads_config {
      triggerer {
        count = TRIGGERER_COUNT
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
      }
    }

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • TRIGGERER_COUNT: o número de acionadores.
  • TRIGGERER_CPU: o número de CPUs de um acionador, em unidades de vCPU.
  • TRIGGERER_MEMORY: a quantidade de memória em GB para um engatilhador.

Exemplo:

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

  config {

    workloads_config {
      triggerer {
        count = 1
        cpu = 0.5
        memory_gb = 0.5
      }
    }

  }
}

Ajustar os parâmetros do servidor da Web

É possível especificar a quantidade de CPUs, memória e espaço em disco usados pelo servidor da Web do Airflow no seu ambiente. Dessa forma, é possível escalonar o desempenho da interface do Airflow, por exemplo, para corresponder à demanda de um grande número de usuários ou de DAGs gerenciados.

Console

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

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do 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, faça o seguinte: Clique em Editar.

  5. No painel Configuração de cargas de trabalho, ajuste os parâmetros do servidor da Web. Nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, memória e armazenamento para o servidor da Web.

  6. Clique em Salvar.

gcloud

Os seguintes parâmetros do servidor da Web do Airflow estão disponíveis:

  • --web-server-cpu: o número de CPUs do servidor da Web do Airflow.
  • --web-server-memory: a quantidade de memória do servidor da Web do Airflow.
  • --web-server-storage: a quantidade de espaço em disco para o servidor da Web do Airflow.

Execute o seguinte comando da Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-cpu WEB_SERVER_CPU \
  --web-server-memory WEB_SERVER_MEMORY \
  --web-server-storage WEB_SERVER_STORAGE

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WEB_SERVER_CPU: o número de CPUs do servidor da Web, em unidades de vCPU.
  • WEB_SERVER_MEMORY: a quantidade de memória para o servidor da Web.
  • WEB_SERVER_STORAGE: a quantidade de memória para o servidor da Web.

Exemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-cpu 1 \
  --web-server-memory 2.5 \
  --web-server-storage 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.webServer para atualizar todos os servidores da Web parâmetros. Também é possível atualizar parâmetros individuais do servidor da Web especificando uma máscara para esses parâmetros: config.workloadsConfig.webServer.cpu, config.workloadsConfig.webServer.memoryGb e config.workloadsConfig.webServer.storageGb.

    2. No corpo da solicitação, especifique os novos parâmetros do servidor da Web.

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": WEB_SERVER_CPU,
      "memoryGb": WEB_SERVER_MEMORY,
      "storageGb": WEB_SERVER_STORAGE
    }
  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WEB_SERVER_CPU: o número de CPUs do servidor da Web, em unidades de vCPU.
  • WEB_SERVER_MEMORY: a quantidade de memória do servidor da Web, em GB.
  • WEB_SERVER_STORAGE: o tamanho do disco do servidor da Web em GB.

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Os campos a seguir no bloco workloads_config.web_server controlam os parâmetros do servidor da Web.

  • web_server.cpu: o número de CPUs para o servidor da Web.
  • O web_server.memory_gb: a quantidade de memória para o servidor da Web.
  • O web_server.storage_gb: a quantidade de espaço em disco para o servidor da Web.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
    }

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WEB_SERVER_CPU: o número de CPUs do servidor da Web, em unidades de vCPU.
  • WEB_SERVER_MEMORY: a quantidade de memória do servidor da Web, em GB.
  • WEB_SERVER_STORAGE: o tamanho do disco do servidor da Web em GB.

Exemplo:

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

  config {

    workloads_config {
      web_server {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
    }

  }
}

Ajustar o tamanho do ambiente

O tamanho do ambiente controla os parâmetros de desempenho A infraestrutura do Cloud Composer que inclui, por exemplo, Banco de dados do Airflow.

Selecione um tamanho maior de ambiente se você quiser executar um grande número de DAGs e tarefas.

Console

  1. No console do 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 > Infraestrutura principal, faça o seguinte: Clique em Editar.

  6. No painel Infraestrutura principal, no campo Tamanho do ambiente, especifique o tamanho do ambiente.

  7. Clique em Salvar.

gcloud

O argumento --environment-size controla o tamanho do ambiente:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --environment-size ENVIRONMENT_SIZE

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • ENVIRONMENT_SIZE: small, medium ou large.

Exemplo:

gcloud composer environments update example-environment \
    --location us-central1 \
    --environment-size medium

API

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

  2. Nesta solicitação:

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

    2. No corpo da solicitação, especifique o tamanho do ambiente.

  "config": {
    "environmentSize": "ENVIRONMENT_SIZE"
  }

Substitua:

  • ENVIRONMENT_SIZE: o tamanho do ambiente, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM ou ENVIRONMENT_SIZE_LARGE.

Exemplo:

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

"config": {
  "environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}

Terraform

O campo environment_size no bloco config controla o tamanho do ambiente:

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

  config {

    environment_size = "ENVIRONMENT_SIZE"

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • ENVIRONMENT_SIZE: o tamanho do ambiente, ENVIRONMENT_SIZE_SMALL. ENVIRONMENT_SIZE_MEDIUM ou ENVIRONMENT_SIZE_LARGE.

Exemplo:

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

  config {

    environment_size = "ENVIRONMENT_SIZE_SMALL"

    }
  }
}

A seguir