Cloud Composer 1 | Cloud Composer 2
Nesta página, descrevemos como escalonar ambientes do Cloud Composer no Cloud Composer 2.
Outras páginas sobre escalonamento:
Para um guia sobre como selecionar os parâmetros de escala e desempenho ideais para seu ambiente, consulte Otimizar o desempenho e os custos do ambiente.
Para mais informações sobre como o escalonamento do ambiente funciona, consulte Escalonamento do ambiente.
Escalonar vertical e horizontalmente
Opções de escalonamento horizontal:
- Ajustar os números mínimo e máximo de workers
- Ajustar o número de programadores
- Ajustar o número de acionadores
Opções para escalonamento vertical:
- Ajustar os parâmetros de desempenho e escalonamento do worker, do programador, do acionador e do servidor da Web
- Ajustar o tamanho do ambiente
Ajustar os números mínimo e máximo de workers
É 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.
Console
Acesse a página Ambientes no console do Google Cloud:
Selecione o ambiente.
Acesse a guia Configuração do ambiente.
No item Recursos > Configuração de cargas de trabalho, clique em Editar.
Na caixa de diálogo Configuração de cargas de trabalho, na seção Escalonamento automático de workers, ajuste os limites dos 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.
Clique em Save.
gcloud
Execute o seguinte comando da Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--min-workers WORKERS_MIN \
--max-workers WORKERS_MAX
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;WORKERS_MIN
pelo número mínimo de workers do Airflow que o ambiente pode 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.WORKERS_MAX
pelo 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.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--min-workers 2 \
--max-workers 6
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount
.No corpo da solicitação, nos campos
minCount
emaxCount
, especifique os novos limites de worker.
"config": {
"workloadsConfig": {
"worker": {
"minCount": WORKERS_MIN,
"maxCount": WORKERS_MAX
}
}
}
Substitua:
WORKERS_MIN
pelo número mínimo de workers do Airflow que o ambiente pode 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.WORKERS_MAX
pelo 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.
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": {
"minCount": 2,
"maxCount": 6
}
}
}
Terraform
Os campos min_count
e max_count
no bloco workloadsConfig.worker
especificam o número mínimo e máximo de workers no ambiente:
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
}
}
}
}
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;WORKERS_MIN
pelo número mínimo de workers do Airflow que o ambiente pode 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.WORKERS_MAX
pelo 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.
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
}
}
}
}
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 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.
Para alterar o número de programadores do seu ambiente:
Console
Acesse a página Ambientes no console do Google Cloud:
Selecione o ambiente.
Acesse a guia Configuração do ambiente.
No item Recursos > Configuração de cargas de trabalho, clique em Editar.
Na caixa de diálogo Configuração de cargas de trabalho, na lista suspensa Número de programadores, defina o número de programadores para o ambiente.
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 ambienteLOCATION
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
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.softwareConfig.workloadsConfig.scheduler
.No corpo da solicitação, no campo
count
, especifique o número de programadores.
"config": {
"workloadsConfig": {
"scheduler": {
"count": SCHEDULER_COUNT
}
}
}
Substitua:
SCHEDULER_COUNT
pelo número de programadores.
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environmentsexample-environment?updateMask=
// config.workloadsConfig.scheduler
"config": {
"workloadsConfig": {
"scheduler": {
"count": 2
}
}
}
Terraform
O campo count
no bloco workloads_config.scheduler
especifica o número de programadores no seu ambiente:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
scheduler {
count = SCHEDULER_COUNT
}
}
}
}
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;SCHEDULER_COUNT
pelo número de programadores.
Exemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
scheduler {
count = 2
}
}
}
}
Ajustar o número de acionadores
É possível definir o número de engatilhadores como zero, mas é necessário ter pelo menos uma instância de acionador no ambiente (ou pelo menos duas em ambientes altamente resilientes) para usar operadores adiáveis nos DAGs.
Dependendo da configuração de resiliência do ambiente, há diferentes configurações possíveis para o número de engatilhadores:
- Resiliência padrão: execute até 10 acionadores
- Alta resiliência: pelo menos 2 e no 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 do acionador real será executada.
Se você não tiver mais de zero acionadores, eles serão faturados com as SKUs do Compute do Cloud Composer, assim como outros componentes do ambiente.
Console
No console do Google Cloud, acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Configuração do ambiente.
No item Recursos > Cargas de trabalho, clique em Editar. O painel Configuração de cargas de trabalho será aberto.
Na seção Acionador, use o campo Número de acionadores para inserir o número de acionadores no ambiente.
Se você definir pelo menos um engatilhador para o ambiente, use os campos CPU e Memória para configurar a alocação de recursos para os acionadores.
Clique em Salvar e aguarde até que o ambiente seja atualizado.
gcloud
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
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;TRIGGERER_COUNT
pelo número de acionadores.- Para ambientes de resiliência padrão, use um valor entre
0
e10
. - Para ambientes altamente resilientes, use
0
ou um valor entre2
e10
.
- Para ambientes de resiliência padrão, use um valor entre
TRIGGERER_CPU
pelo número de CPUs de um acionador, em unidades de vCPU. Essa sinalização é opcional. Se não for fornecida, o valor padrão de0.5
vCPU será usado. Valores permitidos:0.5
,0.75
,1
.TRIGGERER_MEMORY
pela quantidade de memória para um acionador. Essa sinalização é opcional. Se não for fornecida, o valor padrão de0.5
GB será usado.A memória mínima necessária é igual ao número de CPUs alocadas para os engatilhadores. O valor máximo permitido é igual ao número de CPUs do engatilhador multiplicado por 6,5.
Por exemplo, se você definir a sinalização
--triggerer-cpu
como1
, o valor mínimo de--triggerer-memory
será1
e o valor máximo será6.5
.
Exemplos:
Defina a contagem de acionadores como
0
para desativar os acionadores. Essa operação não requer a especificação da CPU ou da memória para os acionadores.gcloud composer environments update example-environment \ --location us-central1 \ --triggerer-count 0
Escalonamento para várias instâncias de acionador:
gcloud composer environments update example-environment \ --location us-central1 \ --triggerer-count 4 \ --triggerer-cpu 1 \ --triggerer-memory 1GB
API
Crie uma solicitação de API
environments.patch
.No parâmetro de consulta
updateMask
, especifique a máscaraconfig.workloadsConfig.triggerer
.No corpo da solicitação, use o seguinte objeto
"config": {
"workloadsConfig": {
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
}
}
Substitua:
TRIGGERER_COUNT
pelo número de acionadores.- Para ambientes de resiliência padrão, use um valor entre
0
e10
. Para ambientes altamente resilientes, use
0
ou um valor entre2
e10
.Se você usar pelo menos um engatilhador, também vai precisar especificar os valores para
TRIGGERER_CPU
eTRIGGERER_MEMORY
:Defina
TRIGGERER_CPU
como o número de CPUs de um acionador, em unidades de vCPU. Valores permitidos:0.5
,0.75
,1
.Defina
TRIGGERER_MEMORY
como a quantidade de memória de um acionador. A memória mínima necessária é igual ao número de CPUs alocadas para os engatilhadores. O valor máximo permitido é igual ao número de CPUs do engatilhador multiplicado por 6,5.Por exemplo, se você definir
TRIGGERER_CPU
como1
, o valor mínimo deTRIGGERER_MEMORY
será1
e o valor máximo será6.5
.
- Para ambientes de resiliência padrão, use um valor entre
Exemplos:
Defina a contagem de acionadores como
0
para desativar os acionadores. Essa operação não requer a especificação da CPU ou da memória para os acionadores.// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/ // locations/us-central1/environments/example-environment?updateMask= // config.workloadsConfig.triggerer "config": { "workloadsConfig": { "triggerer": { "count": 0 } } }
Escalonamento para várias instâncias de acionador:
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/ // locations/us-central1/environments/example-environment?updateMask= // config.workloadsConfig.triggerer "config": { "workloadsConfig": { "triggerer": { "count": 4, "cpu": 1, "memoryGb": 1 } } }
Terraform
O campo count
no bloco workloads_config.triggerer
especifica o número de engatilhadores no seu ambiente:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
triggerer {
count = TRIGGERER_COUNT
}
}
}
}
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;TRIGGERER_COUNT
pelo número de acionadores.
Exemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
triggerer {
count = 1
}
}
}
}
Ajuste os parâmetros de desempenho e escalonamento do worker, do programador, do acionador e do servidor da Web
É possível especificar a quantidade de CPUs, memória e espaço em disco usados pelo seu ambiente. Dessa forma, é possível aumentar o desempenho do ambiente, além do escalonamento horizontal fornecido usando vários workers e programadores.
Console
No console do Google Cloud, acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Configuração do ambiente.
No item Recursos > Cargas de trabalho, clique em Editar. O painel Configuração de cargas de trabalho será aberto.
Nas listas suspensas Número de programadores e Número de acionadores, selecione o número de programadores e acionadores no seu ambiente.
No painel Configuração de cargas de trabalho, nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, memória e armazenamento para programadores, gatilhos, servidores da Web e workers do Airflow.
Clique em Save.
gcloud
Os argumentos a seguir controlam os parâmetros de CPU, memória e espaço em disco dos programadores, servidor da Web e workers do Airflow. Cada programador e worker usa a quantidade especificada de recursos.
--scheduler-cpu
especifica o número de CPUs para um programador do Airflow.--scheduler-memory
especifica a quantidade de memória para um programador do Airflow.--scheduler-storage
especifica a quantidade de espaço em disco para um programador do Airflow.--triggerer-cpu
especifica o número de CPUs de um acionador do Airflow. Valores permitidos:0.5
,0.75
,1
. Se você quiser ajustar a CPU do engatilhador, as sinalizações--triggerer-memory
e--triggerer-count
também serão necessárias.--triggerer-memory
especifica a quantidade de memória para um acionador do Airflow. Se você quiser ajustar a memória do engatilhador, as sinalizações--triggerer-cpu
e--triggerer-count
também serão necessárias.A memória mínima necessária é igual ao número de CPUs alocadas para os engatilhadores. O valor máximo permitido é igual ao número de CPUs do engatilhador multiplicado por 6,5.
Por exemplo, se você definir a sinalização
--triggerer-cpu
como1
, o valor mínimo de--triggerer-memory
será1
e o valor máximo será6.5
.--web-server-cpu
especifica o número de CPUs para o servidor da Web do Airflow.--web-server-memory
especifica a quantidade de memória do servidor da Web do Airflow.--web-server-storage
especifica a quantidade de espaço em disco para o servidor da Web do Airflow.--worker-cpu
especifica o número de CPUs para um worker do Airflow.--worker-memory
especifica a quantidade de memória para um worker do Airflow.--worker-storage
especifica a quantidade de espaço em disco para um worker do Airflow.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-cpu SCHEDULER_CPU \
--scheduler-memory SCHEDULER_MEMORY \
--scheduler-storage SCHEDULER_STORAGE \
--triggerer-count TRIGGERER_COUNT \
--triggerer-cpu TRIGGERER_CPU \
--triggerer-memory TRIGGERER_MEMORY \
--web-server-cpu WEB_SERVER_CPU \
--web-server-memory WEB_SERVER_MEMORY \
--web-server-storage WEB_SERVER_STORAGE \
--worker-cpu WORKER_CPU \
--worker-memory WORKER_MEMORY \
--worker-storage WORKER_STORAGE
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;SCHEDULER_CPU
pelo número de CPUs de um programador, em unidades de vCPU.SCHEDULER_MEMORY
pela quantidade de memória de um programador.SCHEDULER_STORAGE
pelo tamanho do disco de um programador.TRIGGERER_COUNT
pelo número de acionadores. Esse valor é necessário mesmo que você não queira mudar o número atual de engatilhadores e queira apenas ajustar a alocação de CPU ou memória.TRIGGERER_CPU
pelo número de CPUs de um acionador, em unidades de vCPU.TRIGGERER_MEMORY
pela quantidade de memória para um acionador.WEB_SERVER_CPU
pelo número de CPUs do servidor da Web, em unidades de vCPU.WEB_SERVER_MEMORY
pela quantidade de memória do servidor da Web.WEB_SERVER_STORAGE
pela quantidade de memória do servidor da Web.WORKER_CPU
pelo número de CPUs de um worker em unidades de vCPU.WORKER_MEMORY
pela quantidade de memória de um worker.WORKER_STORAGE
pelo tamanho do disco de um worker.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-cpu 0.5 \
--scheduler-memory 2.5GB\
--scheduler-storage 2GB \
--triggerer-count 2 \
--triggerer-cpu 1 \
--triggerer-memory 1GB \
--web-server-cpu 1 \
--web-server-memory 2.5GB \
--web-server-storage 2GB \
--worker-cpu 1 \
--worker-memory 2GB \
--worker-storage 2GB
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
- No parâmetro
updateMask
, especifique os campos que você quer atualizar. Por exemplo, para atualizar todos os parâmetros para programadores, especifique a máscaraconfig.workloadsConfig.scheduler.cpu,config.workloadsConfig.scheduler.memoryGb,config.workloadsConfig.scheduler.storageGB
.
Ao atualizar os parâmetros do acionador, especifique a máscara
config.workloadsConfig.triggerer
. Não é possível especificar máscaras para parâmetros individuais do acionador.- No corpo da solicitação, especifique os parâmetros de escala e desempenho.
- No parâmetro
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": SCHEDULER_CPU,
"memoryGb": SCHEDULER_MEMORY,
"storageGb": SCHEDULER_STORAGE
},
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
"webServer": {
"cpu": WEB_SERVER_CPU,
"memoryGb": WEB_SERVER_MEMORY,
"storageGb": WEB_SERVER_STORAGE
},
"worker": {
"cpu": WORKER_CPU,
"memoryGb": WORKER_MEMORY,
"storageGb": WORKER_STORAGE
}
}
}
Substitua:
SCHEDULER_CPU
pelo número de CPUs de um programador, em unidades de vCPU.SCHEDULER_MEMORY
pela quantidade de memória de um programador, em GB.SCHEDULER_STORAGE
pelo tamanho do disco de um programador, em GB.TRIGGERER_COUNT
pelo número de acionadores. Esse parâmetro é necessário mesmo que você não queira alterar o número atual de engatilhadores e queira apenas ajustar a alocação de CPU ou memória.TRIGGERER_CPU
pelo número de CPUs de um acionador, em unidades de vCPU. Valores permitidos:0.5
,0.75
,1
.TRIGGERER_MEMORY
pela quantidade de memória para um acionador.A memória mínima necessária é igual ao número de CPUs alocadas para os acionadores. O valor máximo permitido é igual ao número de CPUs do engatilhador, multiplicado por 6,5.
Por exemplo, se você definir
TRIGGERER_CPU
como1
, o valor mínimo deTRIGGERER_MEMORY
será1
e o valor máximo será6.5
.WEB_SERVER_CPU
pelo número de CPUs do servidor da Web, em unidades de vCPU.WEB_SERVER_MEMORY
pela quantidade de memória do servidor da Web, em GB.WEB_SERVER_STORAGE
pelo tamanho do disco do servidor da Web, em GB.WORKER_CPU
pelo número de CPUs de um worker em unidades de vCPU.WORKER_MEMORY
pela quantidade de memória de um worker, em GB.WORKER_STORAGE
pelo 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.scheduler.cpu,
// config.workloadsConfig.scheduler.memoryGB,
// config.workloadsConfig.scheduler.storageGb,
// config.workloadsConfig.triggerer
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb,
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGb
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": 0.5,
"memoryGb": 2.5,
"storageGb": 2
},
"triggerer": {
"count": 1,
"cpu": 1,
"memoryGb": 1
},
"webServer": {
"cpu": 0.5,
"memoryGb": 2.5,
"storageGb": 2
},
"worker": {
"cpu": 1,
"memoryGb": 2,
"storageGb": 2
}
}
}
Terraform
Os blocos a seguir no bloco workloadsConfig
controlam os parâmetros de CPU, memória e espaço em disco dos programadores, servidor da Web, gatilhos e workers do Airflow. Cada programador, acionador e worker usa a quantidade especificada de recursos.
- O campo
scheduler.cpu
especifica o número de CPUs para um programador do Airflow. - O campo
scheduler.memory_gb
especifica a quantidade de memória para um programador do Airflow. - O campo
scheduler.storage_gb
especifica a quantidade de espaço em disco para um programador. - O campo
triggerer.cpu
especifica o número de CPUs de um acionador do Airflow. - O campo
triggerer.memory_gb
especifica a quantidade de memória para um acionador do Airflow. - O campo
web_server.cpu
especifica o número de CPUs para o servidor da Web do Airflow. - O campo
web_server.memory_gb
especifica a quantidade de memória do servidor da Web do Airflow. - O campo
web_server.storage_gb
especifica a quantidade de espaço em disco para o servidor da Web do Airflow. - O campo
worker.cpu
especifica o número de CPUs para um worker do Airflow. - O campo
worker.memory_gb
especifica a quantidade de memória para um worker do Airflow. - O campo
worker.storage_gb
especifica 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 {
scheduler {
cpu = SCHEDULER_CPU
memory_gb = SCHEDULER_MEMORY
storage_gb = SCHEDULER_STORAGE
}
triggerer {
cpu = TRIGGERER_CPU
memory_gb = TRIGGERER_MEMORY
count = 1
}
web_server {
cpu = WEB_SERVER_CPU
memory_gb = WEB_SERVER_MEMORY
storage_gb = WEB_SERVER_STORAGE
}
worker {
cpu = WORKER_CPU
memory_gb = WORKER_MEMORY
storage_gb = WORKER_STORAGE
}
}
}
}
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;SCHEDULER_CPU
pelo número de CPUs de um programador, em unidades de vCPU.SCHEDULER_MEMORY
pela quantidade de memória de um programador, em GB.SCHEDULER_STORAGE
pelo tamanho do disco de um programador, em GB.TRIGGERER_CPU
pelo número de CPUs de um acionador, em unidades de vCPU.TRIGGERER_MEMORY
pela quantidade de memória para um acionador, em GB.WEB_SERVER_CPU
pelo número de CPUs do servidor da Web, em unidades de vCPU.WEB_SERVER_MEMORY
pela quantidade de memória do servidor da Web, em GB.WEB_SERVER_STORAGE
pelo tamanho do disco do servidor da Web, em GB.WORKER_CPU
pelo número de CPUs de um worker em unidades de vCPU.WORKER_MEMORY
pela quantidade de memória de um worker, em GB.WORKER_STORAGE
pelo 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 {
scheduler {
cpu = 0.5
memory_gb = 1.875
storage_gb = 1
}
triggerer {
cpu = 0.5
memory_gb = 0.5
count = 1
}
web_server {
cpu = 0.5
memory_gb = 1.875
storage_gb = 1
}
worker {
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 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
Acesse a página Ambientes no console do Google Cloud:
Selecione o ambiente.
Acesse a guia Configuração do ambiente.
No item Recursos > Infraestrutura principal, clique em Editar.
Na caixa de diálogo Infraestrutura principal, no campo Tamanho do ambiente, especifique o tamanho do ambiente.
Clique em Save.
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
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;ENVIRONMENT_SIZE
porsmall
,medium
oularge
.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--environment-size medium
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.environmentSize
.No corpo da solicitação, especifique o tamanho do ambiente.
"config": {
"environmentSize": "ENVIRONMENT_SIZE"
}
Substitua:
ENVIRONMENT_SIZE
pelo tamanho do ambiente,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
ouENVIRONMENT_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
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;ENVIRONMENT_SIZE
pelo tamanho do ambiente,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
ouENVIRONMENT_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
- Escalonamento e desempenho do ambiente
- Preços do Cloud Composer
- Atualizar ambientes
- Arquitetura de ambiente