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.

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 su entorno. Además de ejecutar trabajadores de Airflow, sus nodos de entorno también ejecutan programadores de Airflow y otros componentes del entorno.

Console

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

    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, haga 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 de tu entorno:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --node-count NODE_COUNT

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME por el nombre del entorno
  • LOCATION por la región de Compute Engine en la que se encuentra el entorno.
  • NODE_COUNT por la cantidad de nodos La cantidad mínima de nodos es 3.

Ejemplo:

gcloud composer environments update example-environment \
    --location us-central1 \
    --node-count 6

API

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

  2. En esta solicitud, sucede 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 obtener un mejor rendimiento y confiabilidad. Puedes especificar una cantidad de programadores hasta la cantidad de nodos en tu entorno.

Aumentar la cantidad de programadores no siempre mejora el rendimiento de Airflow. Por ejemplo, tener un solo programador podría proporcionar un mejor rendimiento que tener dos. Esto puede suceder cuando no se utiliza el programador adicional y, por lo tanto, consume recursos del entorno sin contribuir al rendimiento general. El rendimiento real del programador depende de la cantidad de trabajadores de Airflow, la cantidad de DAG y las tareas que se ejecutan en tu entorno y la configuración de Airflow y del entorno.

Recomendamos comenzar con dos programadores y, luego, supervisar el rendimiento del entorno. Si cambias la cantidad de programadores, siempre puedes volver a escalar tu entorno a la cantidad original de programadores.

Para obtener más información sobre cómo configurar varios programadores, consulta la documentación de Airflow.

Console

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

    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 para tu entorno.

  6. Haz clic en Guardar.

gcloud

Ejecuta el siguiente comando gcloud composer:

gcloud composer 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 de Compute Engine en la que se encuentra el entorno.
  • SCHEDULER_COUNT por la cantidad de programadores

Ejemplo:

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

API

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

  2. En esta solicitud, sucede 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.

Console

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

    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 > Cloud SQL machine type, haz clic en Edit.

  5. En el cuadro de 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 gcloud composer:

gcloud composer composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --cloud-sql-machine-type SQL_MACHINE_TYPE

Reemplaza lo siguiente:

Ejemplo:

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

API

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

  2. En esta solicitud, sucede 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 del servidor web de Airflow de tu entorno.

Console

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

    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, seleccione 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 gcloud composer:

gcloud composer composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-machine-type WS_MACHINE_TYPE

Reemplaza lo siguiente:

Ejemplo:

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

API

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

  2. En esta solicitud, sucede 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?