Escalar entornos

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página, se describe cómo escalar entornos de Cloud Composer.

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

  1. En la consola de Google Cloud , ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.

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

  4. En el elemento Recursos > Configuración de cargas de trabajo, haz clic en Editar.

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

  6. En el panel Configuración del programador, en el campo Cantidad de programadores, especifica la cantidad de programadores para tu entorno.

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

  1. Realiza 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.workloadsConfig.schedulerCount.

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

  1. En la consola de Google Cloud , ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del 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 panel 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: 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 es 3.
  • 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

  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: Es 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 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

  1. En la consola de Google Cloud , ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del 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 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.

  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.

Console

  1. En la consola de Google Cloud , ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del 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 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.

  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?