Cloud Composer 1 | Cloud Composer 2
En esta página, se describe cómo escalar entornos de Cloud Composer en Cloud Composer 1.
Para obtener información sobre cómo funciona el escalamiento del entorno, consulta Escalamiento del entorno.
Escalamiento 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 trabajadores y 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:
Opciones de escalamiento vertical:
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.
Consola
Ve a la página Entornos en la consola de Google Cloud:
Selecciona tu entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Nodos trabajadores > Recuento de nodos, haz clic en Editar.
En el cuadro de diálogo 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
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entornoNODE_COUNT
por la cantidad de nodos. La cantidad mínima de nodos es3
.NODE_ZONE
con la zona de Compute Engine para las VM del 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
por 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 de tu entorno.
resource "google_composer_environment" "example" {
config {
node_config {
node_count = NODE_COUNT
}
}
Reemplaza lo siguiente:
NODE_COUNT
por la cantidad de nodos.
Ejemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
node_config {
node_count = 4
}
}
Ajusta la cantidad de programadores
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.
Puedes especificar una cantidad de programadores hasta la cantidad de nodos de tu entorno.Aumentar la cantidad de programadores no siempre mejora el rendimiento de Airflow. Por ejemplo, tener solo un programador puede proporcionar un mejor rendimiento que tener dos. 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. Si cambias la cantidad de programadores, siempre puedes volver a escalar el entorno a la cantidad original.
Para obtener más información sobre la configuración de varios programadores, consulta la documentación de Airflow.
Consola
Ve a la página Entornos en la consola de Google Cloud:
Selecciona tu entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Recursos > Cantidad de programadores, haz clic en Editar.
En el cuadro de diálogo Configuración del programador, en el campo Cantidad de programadores, especifica la cantidad de programadores de tu entorno.
Haz clic en Guardar.
gcloud
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
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entornoSCHEDULER_COUNT
por la cantidad de programadores.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-count 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.softwareConfig.schedulerCount
.En el cuerpo de la solicitud, especifica la cantidad de nodos para tu entorno.
{
"config": {
"softwareConfig": {
"schedulerCount": SCHEDULER_COUNT
}
}
Reemplaza lo siguiente:
SCHEDULER_COUNT
por la cantidad de programadores.
Ejemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.schedulerCount
{
"config": {
"softwareConfig": {
"schedulerCount": 2
}
}
Terraform
El campo scheduler_count
en el bloque software_config
especifica la cantidad de programadores en el entorno.
Este campo solo está disponible en entornos de Cloud Composer 1 que usan Airflow 2.
resource "google_composer_environment" "example" {
config {
software_config {
scheduler_count = SCHEDULER_COUNT
}
}
}
Reemplaza lo siguiente:
SCHEDULER_COUNT
por la cantidad de programadores.
Ejemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
software_config {
scheduler_count = 2
}
}
}
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.
Consola
Ve a la página Entornos en la consola de Google Cloud:
Selecciona tu 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 diálogo 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
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entornoSQL_MACHINE_TYPE
por 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
por 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
por 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.
Consola
Ve a la página Entornos en la consola de Google Cloud:
Selecciona tu 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 cuadro de diálogo 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
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entornoWS_MACHINE_TYPE
por 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
por 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
por 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