Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Nesta página, descrevemos como escalonar ambientes do Cloud Composer.
- Para mais informações sobre como o escalonamento do ambiente funciona, consulte Escalonamento do ambiente.
Escalonar vertical e horizontalmente
No Cloud Composer 1, não é possível definir recursos específicos de CPU e memória para componentes do Cloud Composer e do Airflow, como workers e programadores. Em vez disso, especifique o número e o tipo de máquinas para nós no cluster do ambiente.
Opções de escalonamento horizontal:
- Ajustar o número de nós
- Ajustar o número de programadores
Opções para escalonamento vertical:
- Ajustar o tipo de máquina da instância do Cloud SQL
- Ajustar o tipo de máquina do servidor da Web
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.
Se o ambiente usar o Airflow 2, é possível especificar um número de programadores até o número de nós no ambiente.
Ao escalonar schedulers, use as seguintes considerações:
Aumentar o número de programadores nem sempre melhora o desempenho do Airflow.
Por exemplo, isso pode acontecer quando o programador extra não é utilizado e 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.
Para mais informações sobre como configurar vários programadores, consulte a documentação do Airflow.
Console
No console 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 > Configuração de cargas de trabalho, clique em Editar.
No item Recursos > Número de programadores, clique em Editar.
No painel Configuração do programador, no campo Número de programadores, especifique o número de programadores para seu ambiente.
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.
Execute o seguinte comando da Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-count SCHEDULER_COUNT
Substitua:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região em que o ambiente está localizado.
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.workloadsConfig.schedulerCount.No corpo da solicitação, especifique o número de programadores para seu ambiente.
"config": {
"workloadsConfig": {
"scheduler": {
"count": SCHEDULER_COUNT
}
}
}
Substitua:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região em que o ambiente está localizado.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": {
"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.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
scheduler {
count = SCHEDULER_COUNT
}
}
}
}
Substitua:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região em que o ambiente está localizado.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 {
count = 2
}
}
}
}
Ajustar o número de nós
É possível alterar o número de nós no ambiente.
Esse número corresponde ao número de workers do Airflow no seu ambiente. Além de executar workers do Airflow, os nós de ambiente também executam programadores do Airflow e outros componentes do ambiente.
Console
No console 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 Nós de trabalho > Contagem de nós, clique em Editar.
No painel Configuração de nós de trabalho, no campo Contagem de nós, especifique o número de nós no seu ambiente.
Clique em Salvar.
gcloud
O argumento --node-count controla o número de nós no seu ambiente:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--zone NODE_ZONE \
--node-count NODE_COUNT
Substitua:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região em que o ambiente está localizado.NODE_COUNT: o número de nós. O número mínimo de nós é3.NODE_ZONE: a zona do Compute Engine para as VMs do ambiente.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--zone us-central1-a \
--node-count 6
API
Crie uma solicitação de API
environments.patch.Nesta solicitação:
No parâmetro
updateMask, especifique a máscaraconfig.nodeCount.No corpo da solicitação, especifique o número de nós do seu ambiente.
"config": {
"nodeCount": NODE_COUNT
}
Substitua:
NODE_COUNT: o número de nós. O número mínimo de nós é3.
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.nodeCount
"config": {
"nodeCount": 6
}
Terraform
O campo node_count no bloco node_config especifica o número de
nós no seu ambiente.
resource "google_composer_environment" "example" {
config {
node_config {
node_count = NODE_COUNT
}
}
Substitua:
NODE_COUNT: o número de nós.
Exemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
node_config {
node_count = 4
}
}
Ajustar o tipo de máquina da instância do Cloud SQL
É possível mudar o tipo de máquina da instância do Cloud SQL que armazena o banco de dados do Airflow do seu ambiente.
Console
No console 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 > Tipo de máquina do Cloud SQL, clique em Editar.
No painel Configuração do Cloud SQL, na lista suspensa Tipo de máquina do Cloud SQL, selecione o tipo de máquina para a instância do Cloud SQL do seu ambiente.
Clique em Salvar.
gcloud
Os argumentos --cloud-sql-machine-type controlam o tipo de máquina da
instância do Cloud SQL no seu ambiente.
Execute o seguinte comando da Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--cloud-sql-machine-type SQL_MACHINE_TYPE
Substitua:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região em que o ambiente está localizado.SQL_MACHINE_TYPEpelo tipo de máquina da instância do Cloud SQL;
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--cloud-sql-machine-type db-n1-standard-2
API
Crie uma solicitação de API
environments.patch.Nesta solicitação:
No parâmetro
updateMask, especifique a máscaraconfig.databaseConfig.machineType.No corpo da solicitação, especifique o tipo de máquina para a instância do Cloud SQL.
{
"config": {
"databaseConfig": {
"machineType": "SQL_MACHINE_TYPE"
}
}
}
Substitua:
SQL_MACHINE_TYPE: o tipo de máquina para a instância do Cloud SQL.
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.databaseConfig.machineType
{
"config": {
"databaseConfig": {
"machineType": "db-n1-standard-2"
}
}
}
Terraform
O campo machine_type no bloco database_config especifica o
tipo de máquina para a instância do Cloud SQL.
resource "google_composer_environment" "example" {
config {
database_config {
machine_type = "SQL_MACHINE_TYPE"
}
}
}
Substitua:
SQL_MACHINE_TYPE: o tipo de máquina para a instância do Cloud SQL.
Exemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
database_config {
machine_type = "db-n1-standard-2"
}
}
Ajustar o tipo de máquina do servidor da Web
É possível alterar o tipo de máquina do servidor da Web do Airflow do seu ambiente.
Console
No console 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 > Tipo de máquina do servidor da Web, clique em Editar.
No painel Configuração do servidor da Web, na lista suspensa Tipo de máquina do servidor da Web, selecione o tipo de máquina do servidor da Web do Airflow.
Clique em Salvar.
gcloud
Os argumentos --web-server-machine-type controlam o tipo de máquina da
instância do servidor da Web do Airflow no ambiente.
Execute o seguinte comando da Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--web-server-machine-type WS_MACHINE_TYPE
Substitua:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região em que o ambiente está localizado.WS_MACHINE_TYPE: o tipo de máquina para a instância do servidor da Web do Airflow.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-machine-type composer-n1-webserver-2
API
Crie uma solicitação de API
environments.patch.Nesta solicitação:
No parâmetro
updateMask, especifique a máscaraconfig.webServerConfig.machineType.No corpo da solicitação, especifique o tipo de máquina para o servidor da Web.
{
"config": {
"webServerConfig": {
"machineType": "WS_MACHINE_TYPE"
}
}
}
Substitua:
WS_MACHINE_TYPE: o tipo de máquina para a instância do servidor da Web do Airflow.
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.webServerConfig.machineType
{
"config": {
"webServerConfig": {
"machineType": "composer-n1-webserver-2"
}
}
}
Terraform
O campo machine_type no bloco web_server_config especifica o
tipo de máquina para a instância do servidor da Web do Airflow.
resource "google_composer_environment" "example" {
config {
web_server_config {
machine_type = "WS_MACHINE_TYPE"
}
}
}
Substitua:
WS_MACHINE_TYPE: o tipo de máquina para a instância do servidor da Web do Airflow.
Exemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
web_server_config {
machine_type = "composer-n1-webserver-2"
}
}
A seguir
- Escalonamento e desempenho do ambiente
- Preços do Cloud Composer
- Atualizar ambientes
- Arquitetura de ambiente