Escalonar ambientes

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Nesta página, descrevemos 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:

  • Ajuste os parâmetros de worker, programador, acionador e servidor da Web, além de escalonamento e desempenho.
  • Ajuste o tamanho do ambiente.

Limites de recursos

Componente Contagem mínima Contagem máxima vCPU mínima vCPU máxima Etapa mínima de 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.

É possível especificar a quantidade de CPUs, memória e espaço em disco usados pelos workers do Airflow no seu ambiente. Dessa forma, é possível melhorar o desempenho do ambiente, além do escalonamento horizontal fornecido pelo uso de vários workers.

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 para workers do Airflow:

    • 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, 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 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 o ambiente precisa sempre executar. O número de workers no ambiente não fica abaixo desse número, mesmo que um número menor de workers possa lidar com a carga.
  • --max-workers: 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 de 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 de 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 os parâmetros de workers, especifique a 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 o ambiente precisa sempre executar. O número de workers no ambiente não fica abaixo desse 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 de 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 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 seu 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.

É possível especificar a quantidade de CPUs, memória e espaço em disco usados pelos programadores do Airflow no seu ambiente. Dessa forma, é possível melhorar o desempenho do 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 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 para os programadores do Airflow:

    • 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 Google Cloud CLI:

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 deles. Também é possível 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 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.

  • 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

É possível definir o número de acionadores como zero, mas é necessário ter pelo menos uma instância de acionador no seu ambiente (ou pelo menos duas em ambientes altamente resilientes) 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 e um máximo 10.

Mesmo que o número de acionadores seja definido como zero, uma definição de pod do acionador será criada e ficará visível no cluster do ambiente, mas nenhuma carga de trabalho real do acionador será executada.

Também é possível especificar a quantidade de CPUs, memória e espaço em disco usados pelos acionadores do Airflow no seu ambiente. Dessa forma, é possível melhorar o desempenho do 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 para os acionadores do Airflow:

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

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

    2. Em CPU e Memória, especifique o número de CPUs, memória e armazenamento para acionadores do Airflow. Cada engatilhador 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 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 para um acionador.

Por exemplo:

  • Escalone para quatro instâncias do 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 a 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 engatilhador, em unidades de vCPU.

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

Por exemplo:

  • Para desativar os acionadores, defina a contagem do acionador como 0. Essa operação não requer 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
    }
  }
}
  • Escalone para quatro instâncias do 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 campos a seguir no bloco workloads_config.triggerer controlam os parâmetros do acionador do Airflow. Cada acionador usa a quantidade especificada de recursos.

  • triggerer.count: o número de acionadores no 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_gb: a quantidade de memória para um gatilho 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 engatilhador, 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 IU do Airflow, por exemplo, para corresponder à demanda proveniente de um grande número de usuários ou de um grande número 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, 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 do servidor da Web.
  • WEB_SERVER_STORAGE: a quantidade de memória do 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 parâmetros do servidor da Web. 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.

  • O web_server.cpu: o número de CPUs do 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 da infraestrutura gerenciada do Cloud Composer que inclui, por exemplo, o 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 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, 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