Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página se describe cómo escalar entornos de Cloud Composer.
- Para obtener información sobre cómo funciona el escalado del entorno, consulta el artículo Escalado del entorno.
Escalar vertical y horizontalmente
En Cloud Composer 1, no se definen recursos específicos de CPU y memoria para los componentes de Cloud Composer y Airflow, como los trabajadores y los programadores. En su lugar, especifica el número y el tipo de máquinas de los nodos del clúster de tu entorno.
Opciones de escalado horizontal:
- Ajustar el número de nodos
- Ajustar el número de programadores
Opciones de escalado vertical:
- Ajustar el tipo de máquina de la instancia de Cloud SQL
- Ajustar el tipo de máquina del servidor web
Ajustar los parámetros del programador
Tu entorno puede ejecutar más de un programador de Airflow al mismo tiempo. Usa varios programadores para distribuir la carga entre varias instancias de programador y mejorar el rendimiento y la fiabilidad.
Si tu entorno usa Airflow 2, puedes especificar un número de programadores que no supere el número de nodos de tu entorno.
Cuando escales programadores, ten en cuenta lo siguiente:
Aumentar el número de programadores no siempre mejora el rendimiento de Airflow.
Por ejemplo, esto puede ocurrir cuando no se utiliza el programador adicional y consume recursos de tu entorno sin contribuir al rendimiento general. El rendimiento real del programador depende del número de trabajadores de Airflow, del número de DAGs y tareas que se ejecutan en tu entorno, y de la configuración de Airflow y del entorno.
Te recomendamos que empieces con dos programadores y, después, monitorices el rendimiento de tu entorno.
Para obtener más información sobre cómo configurar varias programaciones, consulta la documentación de Airflow.
Consola
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Recursos > Configuración de cargas de trabajo, haga clic en Editar.
En el elemento Recursos > Número de programadores, haz clic en Editar.
En el panel Configuración del programador, en el campo Número de programadores, especifica el número de programadores de tu entorno.
Haz clic en Guardar.
gcloud
Están disponibles los siguientes parámetros del programador de Airflow:
--scheduler-count: número de programadores de tu entorno.
Ejecuta el siguiente comando de la CLI de Google Cloud:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-count SCHEDULER_COUNT
Haz los cambios siguientes:
ENVIRONMENT_NAME: el nombre del entorno.LOCATION: la región en la que se encuentra el entorno.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-count 2
API
Crea una solicitud de la API
environments.patch.En esta solicitud:
En el parámetro
updateMask, especifique la máscaraconfig.workloadsConfig.schedulerCount.En el cuerpo de la solicitud, especifica el número de programadores de tu entorno.
"config": {
"workloadsConfig": {
"scheduler": {
"count": SCHEDULER_COUNT
}
}
}
Haz los cambios siguientes:
ENVIRONMENT_NAME: el nombre del entorno.LOCATION: la región en la que se encuentra el entorno.SCHEDULER_COUNT: número de programadores.
Ejemplo:
// 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
Los siguientes campos del bloque workloads_config.scheduler controlan los parámetros del programador de Airflow. Cada programador usa la cantidad especificada de recursos.
scheduler.count: número de programadores de tu entorno.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
scheduler {
count = SCHEDULER_COUNT
}
}
}
}
Haz los cambios siguientes:
ENVIRONMENT_NAME: el nombre del entorno.LOCATION: la región en la que se encuentra el entorno.SCHEDULER_COUNT: número de programadores.
Ejemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
scheduler {
count = 2
}
}
}
}
Ajustar el número de nodos
Puedes cambiar el número de nodos de tu entorno.
Este número corresponde al número de trabajadores de Airflow de tu entorno. Además de ejecutar trabajadores de Airflow, los nodos de tu entorno también ejecutan programadores de Airflow y otros componentes del entorno.
Consola
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Nodos de trabajo > Número de nodos, haga clic en Editar.
En el panel Configuración de nodos de trabajador, en el campo Número de nodos, especifica el número de nodos de tu entorno.
Haz clic en Guardar.
gcloud
El argumento --node-count controla el número de nodos de tu entorno:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--zone NODE_ZONE \
--node-count NODE_COUNT
Haz los cambios siguientes:
ENVIRONMENT_NAME: el nombre del entorno.LOCATION: la región en la que se encuentra el entorno.NODE_COUNT: número de nodos. El número mínimo de nodos es3.NODE_ZONE: la zona de Compute Engine de las VMs de tu entorno.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--zone us-central1-a \
--node-count 6
API
Crea una solicitud de la API
environments.patch.En esta solicitud:
En el parámetro
updateMask, especifique la máscaraconfig.nodeCount.En el cuerpo de la solicitud, especifica el número de nodos de tu entorno.
"config": {
"nodeCount": NODE_COUNT
}
Haz los cambios siguientes:
NODE_COUNT: número de nodos. El número mínimo de nodos es3.
Ejemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.nodeCount
"config": {
"nodeCount": 6
}
Terraform
El campo node_count del bloque node_config especifica el número de nodos de tu entorno.
resource "google_composer_environment" "example" {
config {
node_config {
node_count = NODE_COUNT
}
}
Haz los cambios siguientes:
NODE_COUNT: número de nodos.
Ejemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
node_config {
node_count = 4
}
}
Ajustar el tipo de máquina de la instancia de Cloud SQL
Puedes cambiar el tipo de máquina de la instancia de Cloud SQL que almacena la base de datos de Airflow de tu entorno.
Consola
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Recursos > Tipo de máquina de Cloud SQL, haz clic en Editar.
En el panel Configuración de Cloud SQL, en la lista desplegable Tipo de máquina de Cloud SQL, selecciona el tipo de máquina de la instancia de Cloud SQL de tu entorno.
Haz clic en Guardar.
gcloud
Los argumentos de --cloud-sql-machine-type controlan el tipo de máquina de la instancia de Cloud SQL de tu entorno.
Ejecuta el siguiente comando de la CLI de Google Cloud:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--cloud-sql-machine-type SQL_MACHINE_TYPE
Haz los cambios siguientes:
ENVIRONMENT_NAME: el nombre del entorno.LOCATION: la región en la que se encuentra el entorno.SQL_MACHINE_TYPE: el tipo de máquina de la instancia de Cloud SQL.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--cloud-sql-machine-type db-n1-standard-2
API
Crea una solicitud de la API
environments.patch.En esta solicitud:
En el parámetro
updateMask, especifique la máscaraconfig.databaseConfig.machineType.En el cuerpo de la solicitud, especifica el tipo de máquina de la instancia de Cloud SQL.
{
"config": {
"databaseConfig": {
"machineType": "SQL_MACHINE_TYPE"
}
}
}
Haz los cambios siguientes:
SQL_MACHINE_TYPE: el tipo de máquina de la instancia de Cloud SQL.
Ejemplo:
// 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
El campo machine_type del bloque database_config especifica el tipo de máquina de la instancia de Cloud SQL.
resource "google_composer_environment" "example" {
config {
database_config {
machine_type = "SQL_MACHINE_TYPE"
}
}
}
Haz los cambios siguientes:
SQL_MACHINE_TYPE: el tipo de máquina de la instancia de Cloud SQL.
Ejemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
database_config {
machine_type = "db-n1-standard-2"
}
}
Ajustar el tipo de máquina del servidor web
Puedes cambiar el tipo de máquina del servidor web de Airflow de tu entorno.
Consola
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Recursos > Tipo de máquina del servidor web, haga clic en Editar.
En el panel Configuración del servidor web, en la lista desplegable Tipo de máquina del servidor web, selecciona el tipo de máquina del servidor web de Airflow.
Haz clic en Guardar.
gcloud
Los argumentos de --web-server-machine-type controlan el tipo de máquina de la instancia del servidor web de Airflow en tu entorno.
Ejecuta el siguiente comando de la CLI de Google Cloud:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--web-server-machine-type WS_MACHINE_TYPE
Haz los cambios siguientes:
ENVIRONMENT_NAME: el nombre del entorno.LOCATION: la región en la que se encuentra el entorno.WS_MACHINE_TYPE: el tipo de máquina de la instancia del servidor web de Airflow.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-machine-type composer-n1-webserver-2
API
Crea una solicitud de la API
environments.patch.En esta solicitud:
En el parámetro
updateMask, especifique la máscaraconfig.webServerConfig.machineType.En el cuerpo de la solicitud, especifica el tipo de máquina del servidor web.
{
"config": {
"webServerConfig": {
"machineType": "WS_MACHINE_TYPE"
}
}
}
Haz los cambios siguientes:
WS_MACHINE_TYPE: el tipo de máquina de la instancia del servidor web de Airflow.
Ejemplo:
// 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
El campo machine_type del bloque web_server_config especifica el tipo de máquina de la instancia del servidor web de Airflow.
resource "google_composer_environment" "example" {
config {
web_server_config {
machine_type = "WS_MACHINE_TYPE"
}
}
}
Haz los cambios siguientes:
WS_MACHINE_TYPE: el tipo de máquina de la instancia del servidor web de Airflow.
Ejemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
web_server_config {
machine_type = "composer-n1-webserver-2"
}
}
Siguientes pasos
- Escalado del entorno y rendimiento
- Precios de Cloud Composer
- Actualizar entornos
- Arquitectura del entorno