Dimensione ambientes

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

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

Outras páginas sobre a escala:

Aumente a escala vertical e horizontalmente

Opções de escalabilidade horizontal:

  • Ajuste o número mínimo e máximo de trabalhadores.
  • Ajuste o número de agendadores e acionadores.

Opções de dimensionamento vertical:

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

Limites de recursos

Componente Contagem mínima Contagem máxima vCPU mínimo vCPU máximo Intervalo mínimo de vCPU Memória mínima (GB) Memória máxima (GB) Passo mínimo 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) Passo mínimo 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 Web - - 0,5 28 0,25 1 80 - 1 6.5 0,05 10 -
Trabalhadores 1 100 0,5 28 0,25 0,5 80 - 1 6.5 0,05 10 -

Ajuste os parâmetros dos trabalhadores

Pode definir o número mínimo e máximo de trabalhadores para o seu ambiente. O Cloud Composer dimensiona automaticamente o seu ambiente dentro dos limites definidos. Pode ajustar estes limites em qualquer altura.

Pode especificar a quantidade de CPUs, memória e espaço em disco usados pelos trabalhadores do Airflow no seu ambiente. Desta forma, pode aumentar o desempenho do seu ambiente, além do escalamento horizontal fornecido através da utilização de vários trabalhadores.

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente.

  4. No item Resources > Workloads configuration, clique em Edit.

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

    • No campo Número mínimo de trabalhadores, especifique o número de trabalhadores do Airflow que o seu ambiente tem de executar sempre. O número de trabalhadores no seu ambiente não desce abaixo deste número durante o funcionamento normal do ambiente, mesmo que um número inferior de trabalhadores consiga processar a carga.

    • No campo Número máximo de trabalhadores, especifique o número máximo de trabalhadores do Airflow que o seu ambiente pode executar. O número de trabalhadores no seu ambiente não excede este número, mesmo que seja necessário um número superior de trabalhadores para processar a carga.

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

  6. Clique em Guardar.

gcloud

Estão disponíveis os seguintes parâmetros do worker do Airflow:

  • --min-workers: o número de trabalhadores do Airflow que o seu ambiente tem de executar sempre. O número de trabalhadores no seu ambiente não é inferior a este número, mesmo que um número inferior de trabalhadores consiga processar a carga.
  • --max-workers: o número máximo de trabalhadores do Airflow que o seu ambiente pode executar. O número de trabalhadores no seu ambiente não excede este número, mesmo que seja necessário um número superior de trabalhadores 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 trabalhador do Airflow.
  • --worker-storage: a quantidade de espaço em disco para um trabalhador do Airflow.

Execute o seguinte comando da CLI Google Cloud:

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 o seguinte:

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

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. Construa um pedido de API environments.patch.

  2. Neste pedido:

    1. No parâmetro updateMask, especifique os campos que quer atualizar. Por exemplo, para atualizar todos os parâmetros dos trabalhadores, 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 do pedido, especifique os novos parâmetros do trabalhador.

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

Substitua o seguinte:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região onde o ambiente está localizado.
  • WORKERS_MIN: o número mínimo de trabalhadores do Airflow.
  • WORKERS_MAX: o número máximo de trabalhadores do Airflow.
  • WORKER_CPU: o número de CPUs para um trabalhador, em unidades de vCPU.
  • WORKER_MEMORY: a quantidade de memória para um trabalhador, em GB.
  • WORKER_STORAGE: o tamanho do disco para um trabalhador, 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 abaixo no bloco workloads_config.worker controlam os parâmetros do Airflow worker. Cada trabalhador usa a quantidade especificada de recursos.

  • worker.min_count: o número de trabalhadores do Airflow que o seu ambiente tem de executar sempre. O número de trabalhadores no seu ambiente não é inferior a este número, mesmo que um número inferior de trabalhadores consiga processar a carga.
  • worker.max_count: o número máximo de trabalhadores do Airflow que o seu ambiente pode executar. O número de trabalhadores no seu ambiente não excede este número, mesmo que seja necessário um número superior de trabalhadores 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 trabalhador 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 o seguinte:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região onde o ambiente está localizado.
  • WORKERS_MIN: o número mínimo de trabalhadores do Airflow.
  • WORKERS_MAX: o número máximo de trabalhadores do Airflow.
  • WORKER_CPU: o número de CPUs para um trabalhador, em unidades de vCPU.
  • WORKER_MEMORY: a quantidade de memória para um trabalhador, em GB.
  • WORKER_STORAGE: o tamanho do disco para um trabalhador, 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
      }
    }

  }
}

Ajuste os parâmetros do programador

O seu ambiente pode executar mais do que um programador do Airflow em simultâneo. Use vários agendadores para distribuir a carga entre várias instâncias do agendador para um melhor desempenho e fiabilidade.

Pode ter até 10 programadores no seu ambiente.

Ao dimensionar programadores, tenha em atenção as seguintes considerações:

  • Em ambientes do Cloud Composer 3, os processadores DAG do Airflow são executados como componentes do ambiente separados dos programadores. Uma vez que o processador de DAGs transfere o processamento de DAGs do programador, é recomendável redistribuir os recursos anteriormente atribuídos aos programadores do Airflow.

    Uma vez que os programadores não analisam os DAGs no Cloud Composer 3, têm limites de recursos mais baixos para CPU e memória do que no Cloud Composer 2.

  • O aumento do número de agendadores nem sempre melhora o desempenho do Airflow.

    Por exemplo, isto pode acontecer quando o agendador adicional não é usado e consome recursos do seu ambiente sem contribuir para o desempenho geral. O desempenho real do programador depende do número de trabalhadores do Airflow, do número de DAGs e tarefas que são executados no seu ambiente, e da configuração do Airflow e do ambiente.

  • Recomendamos que comece com dois programadores e, em seguida, monitorize o desempenho do seu ambiente. Se alterar o número de programadores, pode sempre reduzir a escala do seu ambiente para o número original de programadores.

Para mais informações sobre a configuração de várias programações, consulte a documentação do Airflow.

Pode especificar a quantidade de CPUs, memória e espaço em disco usados pelos programadores do Airflow no seu ambiente. Desta forma, pode aumentar o desempenho do seu ambiente, além do escalonamento horizontal fornecido através da utilização de vários agendadores.

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente.

  4. No item Resources > Workloads configuration, clique em Edit.

  5. No painel Configuração de cargas de trabalho, ajuste os parâmetros dos programadores do Airflow:

    • Na lista pendente Número de agendadores, selecione o número de agendadores para o seu ambiente.

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

  6. Clique em Guardar.

gcloud

Estão disponíveis os seguintes parâmetros do programador do Airflow:

  • --scheduler-count: o número de agendadores 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 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 o seguinte:

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

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

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

  • SCHEDULER_STORAGE: o tamanho do disco para 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. Construa um pedido de API environments.patch.

  2. Neste pedido:

    1. No parâmetro updateMask, especifique a máscara config.workloadsConfig.scheduler para atualizar todos os parâmetros do agendador ou apenas o número de agendadores. Também pode atualizar parâmetros do agendador individuais, exceto count, especificando uma máscara. Por exemplo, config.workloadsConfig.scheduler.cpu.

    2. No corpo do pedido, especifique os novos parâmetros do programador.

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

Substitua o seguinte:

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

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

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

  • SCHEDULER_STORAGE: o tamanho do disco para 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 seguintes no bloco workloads_config.scheduler controlam os parâmetros do agendador do Airflow. Cada agendador usa a quantidade especificada de recursos.

  • scheduler.count: o número de agendadores 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 o seguinte:

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

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

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

  • SCHEDULER_STORAGE: o tamanho do disco para 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
      }
    }

  }
}

Ajuste os parâmetros do acionador

Pode definir o número de acionadores como zero, mas precisa de, pelo menos, uma instância de acionador no seu ambiente (ou, pelo menos, duas em ambientes altamente resilientes) para usar operadores adiáveis nos seus DAGs.

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

  • Resiliência padrão: pode executar até 10 acionadores.
  • Resiliência elevada: pelo menos 2 acionadores, até um máximo de 10 acionadores.

Mesmo que o número de acionadores esteja definido como zero, é criada uma definição de pod de acionador e fica visível no cluster do seu ambiente, mas não são executadas cargas de trabalho de acionador reais.

Também pode especificar a quantidade de CPUs, memória e espaço em disco usados pelos acionadores do Airflow no seu ambiente. Desta forma, pode aumentar o desempenho do seu ambiente, além do escalonamento horizontal fornecido através da utilização de vários acionadores.

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente.

  4. No item Resources > Workloads configuration, clique em Edit.

  5. No painel Configuração de cargas de trabalho, ajuste os parâmetros dos acionadores do Airflow:

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

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

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

  6. Clique em Guardar.

gcloud

Estão disponíveis os seguintes parâmetros do acionador do Airflow:

  • --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: a quantidade de memória para um acionador do Airflow.

Execute o seguinte comando da CLI Google Cloud:

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

Substitua o seguinte:

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

Exemplos:

  • Dimensionar para quatro instâncias de acionador:
gcloud composer environments update example-environment \
  --location us-central1 \
  --triggerer-count 4 \
  --triggerer-cpu 1 \
  --triggerer-memory 1
  • Desative os acionadores definindo a contagem de acionadores como 0. Esta operação não requer a especificação da CPU nem da memória para os acionadores.
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 do pedido, especifique todos os três parâmetros para os acionadores.

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

Substitua o seguinte:

  • 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 para 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. Esta operação não requer a especificação da CPU nem da 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
    }
  }
}
  • Dimensionar 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 campos seguintes 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 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 o seguinte:

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

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

  }
}

Ajuste os parâmetros do servidor Web

Pode especificar a quantidade de CPUs, memória e espaço em disco usados pelo servidor Web do Airflow no seu ambiente. Deste modo, pode dimensionar o desempenho da IU do Airflow, por exemplo, para corresponder à procura proveniente de um grande número de utilizadores ou de um grande número de DAGs geridos.

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente.

  4. No item Resources > Workloads configuration, clique em Edit.

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

  6. Clique em Guardar.

gcloud

Estão disponíveis os seguintes parâmetros do servidor Web do Airflow:

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

Execute o seguinte comando da CLI Google Cloud:

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 o seguinte:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região onde o ambiente está localizado.
  • WEB_SERVER_CPU: o número de CPUs para o servidor Web, em unidades de vCPU.
  • WEB_SERVER_MEMORY: a quantidade de memória para o servidor Web.
  • WEB_SERVER_STORAGE: a quantidade de memória para o servidor 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. Construa um pedido de API environments.patch.

  2. Neste pedido:

    1. No parâmetro updateMask, especifique a máscara config.workloadsConfig.webServer para atualizar todos os parâmetros do servidor Web. Também pode atualizar parâmetros individuais do servidor Web especificando uma máscara para esses parâmetros: config.workloadsConfig.webServer.cpu, config.workloadsConfig.webServer.memoryGb, config.workloadsConfig.webServer.storageGb.

    2. No corpo do pedido, especifique os novos parâmetros do servidor Web.

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

Substitua o seguinte:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região onde o ambiente está localizado.
  • WEB_SERVER_CPU: o número de CPUs para o servidor Web, em unidades de vCPU.
  • WEB_SERVER_MEMORY: a quantidade de memória para o servidor Web, em GB.
  • WEB_SERVER_STORAGE: o tamanho do disco para o servidor 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 seguintes no bloco workloads_config.web_server controlam os parâmetros do servidor Web.

  • O web_server.cpu: o número de CPUs para o servidor Web.
  • O web_server.memory_gb: a quantidade de memória para o servidor Web.
  • O web_server.storage_gb: a quantidade de espaço em disco para o servidor 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 o seguinte:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região onde o ambiente está localizado.
  • WEB_SERVER_CPU: o número de CPUs para o servidor Web, em unidades de vCPU.
  • WEB_SERVER_MEMORY: a quantidade de memória para o servidor Web, em GB.
  • WEB_SERVER_STORAGE: o tamanho do disco para o servidor 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
      }
    }

  }
}

Ajuste o tamanho do ambiente

O tamanho do ambiente controla os parâmetros de desempenho da infraestrutura do Cloud Composer gerida, que inclui, por exemplo, a base de dados do Airflow.

Pondere selecionar um tamanho do ambiente maior se quiser executar um grande número de DAGs e tarefas.

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente.

  4. No item Resources > Workloads configuration, clique em Edit.

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

gcloud

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

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

Substitua o seguinte:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região onde 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 um pedido de API environments.patch.

  2. Neste pedido:

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

    2. No corpo do pedido, especifique o tamanho do ambiente.

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

Substitua o seguinte:

  • 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 o seguinte:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região onde 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"

    }
  }
}

O que se segue?