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 escalamiento del entorno, consulta Escalamiento del entorno.
Escalar de forma vertical y horizontal
En Cloud Composer 1, no defines recursos específicos de CPU y memoria para los componentes de Cloud Composer y Airflow, como los trabajadores y los programadores. En su lugar, debes especificar la cantidad y el tipo de máquinas para los nodos del clúster de tu entorno.
Opciones de escalamiento horizontal:
- Ajusta la cantidad de nodos
- Ajusta la cantidad de programadores
Opciones de escalamiento vertical:
- Ajusta el tipo de máquina de la instancia de Cloud SQL
- Ajusta el tipo de máquina del servidor web
Ajusta 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 del programador a fin de mejorar el rendimiento y la confiabilidad.
Si tu entorno usa Airflow 2, puedes especificar una cantidad de programadores hasta el número de nodos en tu entorno.
Cuando escale los programadores, tenga en cuenta las siguientes consideraciones:
Aumentar la cantidad de programadores no siempre mejora el rendimiento de Airflow.
Por ejemplo, esto puede suceder cuando no se usa el programador adicional y, por lo tanto, consume recursos de tu entorno sin contribuir al rendimiento general. El rendimiento real del programador depende de la cantidad de trabajadores de Airflow, la cantidad de DAG y tareas que se ejecutan en tu entorno y la configuración de Airflow y el entorno.
Recomendamos comenzar con dos programadores y, luego, supervisar el rendimiento del entorno.
Para obtener más información sobre la configuración de varios programadores, consulta la documentación de Airflow.
Console
En la consola de Google Cloud , ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu 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, haz clic en Editar.
En el elemento Recursos > Cantidad de programadores, haz clic en Editar.
En el panel Configuración del programador, en el campo Cantidad de programadores, especifica la cantidad de programadores para tu entorno.
Haz clic en Guardar.
gcloud
Están disponibles los siguientes parámetros del programador de Airflow:
--scheduler-count: Es la cantidad de programadores en tu entorno.
Ejecuta el siguiente comando de Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-count SCHEDULER_COUNT
Reemplaza lo siguiente:
ENVIRONMENT_NAME: Es el nombre del entorno.LOCATION: Es la región en la que se encuentra el entorno.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-count 2
API
Realiza una solicitud a la API de
environments.patch.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask, especifica la máscaraconfig.workloadsConfig.schedulerCount.En el cuerpo de la solicitud, especifica la cantidad de programadores para tu entorno.
"config": {
"workloadsConfig": {
"scheduler": {
"count": SCHEDULER_COUNT
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME: Es el nombre del entorno.LOCATION: Es la región en la que se encuentra el entorno.SCHEDULER_COUNT: Es la cantidad 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: Es la cantidad de programadores en tu entorno.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
scheduler {
count = SCHEDULER_COUNT
}
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME: Es el nombre del entorno.LOCATION: Es la región en la que se encuentra el entorno.SCHEDULER_COUNT: Es la cantidad de programadores.
Ejemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
scheduler {
count = 2
}
}
}
}
Ajusta la cantidad de nodos
Puedes cambiar la cantidad de nodos en tu entorno.
Este número corresponde a la cantidad de trabajadores de Airflow en tu entorno. Además de ejecutar trabajadores de Airflow, tus nodos de entorno también ejecutan programadores de Airflow y otros componentes del entorno.
Console
En la consola de Google Cloud , ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Nodos trabajadores > Recuento de nodos, haz clic en Editar.
En el panel Configuración de nodos trabajadores, en el campo Recuento de nodos, especifica la cantidad de nodos en tu entorno.
Haz clic en Guardar.
gcloud
El argumento --node-count controla la cantidad de nodos en el entorno:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--zone NODE_ZONE \
--node-count NODE_COUNT
Reemplaza lo siguiente:
ENVIRONMENT_NAME: Es el nombre del entorno.LOCATION: Es la región en la que se encuentra el entorno.NODE_COUNT: Es la cantidad de nodos. La cantidad mínima de nodos es3.NODE_ZONE: Es la zona de Compute Engine para 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 a la API de
environments.patch.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask, especifica la máscaraconfig.nodeCount.En el cuerpo de la solicitud, especifica la cantidad de nodos para tu entorno.
"config": {
"nodeCount": NODE_COUNT
}
Reemplaza lo siguiente:
NODE_COUNT: Es la cantidad de nodos. La cantidad mínima 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 en el bloque node_config especifica la cantidad de nodos en tu entorno.
resource "google_composer_environment" "example" {
config {
node_config {
node_count = NODE_COUNT
}
}
Reemplaza lo siguiente:
NODE_COUNT: Es la cantidad de nodos.
Ejemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
node_config {
node_count = 4
}
}
Ajusta 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.
Console
En la consola de Google Cloud , ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu 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 para la instancia de Cloud SQL de tu entorno.
Haz clic en Guardar.
gcloud
Los argumentos --cloud-sql-machine-type controlan el tipo de máquina de la instancia de Cloud SQL en tu entorno.
Ejecuta el siguiente comando de Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--cloud-sql-machine-type SQL_MACHINE_TYPE
Reemplaza lo siguiente:
ENVIRONMENT_NAME: Es el nombre del entorno.LOCATION: Es la región en la que se encuentra el entorno.SQL_MACHINE_TYPE: El tipo de máquina para 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 a la API de
environments.patch.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask, especifica la máscaraconfig.databaseConfig.machineType.En el cuerpo de la solicitud, especifica el tipo de máquina para la instancia de Cloud SQL.
{
"config": {
"databaseConfig": {
"machineType": "SQL_MACHINE_TYPE"
}
}
}
Reemplaza lo siguiente:
SQL_MACHINE_TYPE: Es el tipo de máquina para 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 en el bloque database_config especifica el tipo de máquina para la instancia de Cloud SQL.
resource "google_composer_environment" "example" {
config {
database_config {
machine_type = "SQL_MACHINE_TYPE"
}
}
}
Reemplaza lo siguiente:
SQL_MACHINE_TYPE: Es el tipo de máquina para 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"
}
}
Ajusta el tipo de máquina del servidor web
Puedes cambiar el tipo de máquina para el servidor web de Airflow de tu entorno.
Console
En la consola de Google Cloud , ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu 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, haz 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 para el servidor web de Airflow.
Haz clic en Guardar.
gcloud
Los argumentos --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 Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--web-server-machine-type WS_MACHINE_TYPE
Reemplaza lo siguiente:
ENVIRONMENT_NAME: Es el nombre del entorno.LOCATION: Es la región en la que se encuentra el entorno.WS_MACHINE_TYPE: Es el tipo de máquina para 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 a la API de
environments.patch.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask, especifica la máscaraconfig.webServerConfig.machineType.En el cuerpo de la solicitud, especifica el tipo de máquina para el servidor web.
{
"config": {
"webServerConfig": {
"machineType": "WS_MACHINE_TYPE"
}
}
}
Reemplaza lo siguiente:
WS_MACHINE_TYPE: Es el tipo de máquina para 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 en el bloque web_server_config especifica el tipo de máquina para la instancia del servidor web de Airflow.
resource "google_composer_environment" "example" {
config {
web_server_config {
machine_type = "WS_MACHINE_TYPE"
}
}
}
Reemplaza lo siguiente:
WS_MACHINE_TYPE: Es el tipo de máquina para 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"
}
}
¿Qué sigue?
- Escalamiento y rendimiento del entorno
- Precios de Cloud Composer
- Actualización de entornos
- Arquitectura del entorno