Escalar entornos

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

  1. Ve a la página Entornos en la consola de Google Cloud:

    Ir a la página Entornos

  2. Selecciona tu entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. En el elemento Nodos trabajadores > Recuento de nodos, haz clic en Editar.

  5. 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.

  6. 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 entorno
  • NODE_COUNT por la cantidad de nodos. La cantidad mínima de nodos es 3.
  • 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

  1. Crea una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    1. En el parámetro updateMask, especifica la máscara config.nodeCount.

    2. 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 es 3.

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

  1. Ve a la página Entornos en la consola de Google Cloud:

    Ir a la página Entornos

  2. Selecciona tu entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. En el elemento Recursos > Cantidad de programadores, haz clic en Editar.

  5. En el cuadro de diálogo Configuración del programador, en el campo Cantidad de programadores, especifica la cantidad de programadores de tu entorno.

  6. 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 entorno
  • SCHEDULER_COUNT por la cantidad de programadores.

Ejemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-count 2

API

  1. Crea una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    1. En el parámetro updateMask, especifica la máscara config.softwareConfig.schedulerCount.

    2. 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

  1. Ve a la página Entornos en la consola de Google Cloud:

    Ir a la página Entornos

  2. Selecciona tu entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. En el elemento Recursos > Tipo de máquina de Cloud SQL, haz clic en Editar.

  5. 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.

  6. 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:

Ejemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --cloud-sql-machine-type db-n1-standard-2

API

  1. Crea una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    1. En el parámetro updateMask, especifica la máscara config.databaseConfig.machineType.

    2. 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:

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:

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

  1. Ve a la página Entornos en la consola de Google Cloud:

    Ir a la página Entornos

  2. Selecciona tu entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. En el elemento Recursos > Tipo de máquina del servidor web, haz clic en Editar.

  5. 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.

  6. 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:

Ejemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-machine-type composer-n1-webserver-2

API

  1. Crea una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    1. En el parámetro updateMask, especifica la máscara config.webServerConfig.machineType.

    2. 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:

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:

Ejemplo:

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  config {
    web_server_config {
      machine_type = "composer-n1-webserver-2"
    }
}

¿Qué sigue?