Entornos de escalabilidad

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 escalado del entorno, consulta el artículo Escalado del entorno.

Escalar vertical y horizontalmente

En Cloud Composer 1, no se definen recursos específicos de CPU y memoria para los componentes de Cloud Composer y Airflow, como los trabajadores y los programadores. En su lugar, especifica el número y el tipo de máquinas de los nodos del clúster de tu entorno.

Opciones de escalado horizontal:

  • Ajustar el número de nodos
  • Ajustar el número de programadores

Opciones de escalado vertical:

  • Ajustar el tipo de máquina de la instancia de Cloud SQL
  • Ajustar el tipo de máquina del servidor web

Ajustar 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 de programador y mejorar el rendimiento y la fiabilidad.

Si tu entorno usa Airflow 2, puedes especificar un número de programadores que no supere el número de nodos de tu entorno.

Cuando escales programadores, ten en cuenta lo siguiente:

  • Aumentar el número de programadores no siempre mejora el rendimiento de Airflow.

    Por ejemplo, esto puede ocurrir cuando no se utiliza el programador adicional y consume recursos de tu entorno sin contribuir al rendimiento general. El rendimiento real del programador depende del número de trabajadores de Airflow, del número de DAGs y tareas que se ejecutan en tu entorno, y de la configuración de Airflow y del entorno.

  • Te recomendamos que empieces con dos programadores y, después, monitorices el rendimiento de tu entorno.

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

Consola

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

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre del 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, haga clic en Editar.

  5. En el elemento Recursos > Número de programadores, haz clic en Editar.

  6. En el panel Configuración del programador, en el campo Número de programadores, especifica el número de programadores de tu entorno.

  7. Haz clic en Guardar.

gcloud

Están disponibles los siguientes parámetros del programador de Airflow:

  • --scheduler-count: número de programadores de tu entorno.

Ejecuta el siguiente comando de la CLI de Google Cloud:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --scheduler-count SCHEDULER_COUNT

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre del entorno.
  • LOCATION: 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. Crea una solicitud de la API environments.patch.

  2. En esta solicitud:

    1. En el parámetro updateMask, especifique la máscara config.workloadsConfig.schedulerCount.

    2. En el cuerpo de la solicitud, especifica el número de programadores de tu entorno.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": SCHEDULER_COUNT
    }
  }
}

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre del entorno.
  • LOCATION: la región en la que se encuentra el entorno.

  • SCHEDULER_COUNT: número 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: número de programadores de tu entorno.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      scheduler {
        count = SCHEDULER_COUNT
      }
    }

  }
}

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre del entorno.
  • LOCATION: la región en la que se encuentra el entorno.

  • SCHEDULER_COUNT: número de programadores.

Ejemplo:

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

  config {

    workloads_config {
      scheduler {
        
        count = 2
      }
    }

  }
}

Ajustar el número de nodos

Puedes cambiar el número de nodos de tu entorno.

Este número corresponde al número de trabajadores de Airflow de tu entorno. Además de ejecutar trabajadores de Airflow, los nodos de tu entorno también ejecutan programadores de Airflow y otros componentes del entorno.

Consola

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

    Ir a Entornos

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

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

  4. En el elemento Nodos de trabajo > Número de nodos, haga clic en Editar.

  5. En el panel Configuración de nodos de trabajador, en el campo Número de nodos, especifica el número de nodos de tu entorno.

  6. Haz clic en Guardar.

gcloud

El argumento --node-count controla el número de nodos de tu entorno:

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

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre del entorno.
  • LOCATION: la región en la que se encuentra el entorno.
  • NODE_COUNT: número de nodos. El número mínimo de nodos es 3.
  • NODE_ZONE: la zona de Compute Engine de 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 de la API environments.patch.

  2. En esta solicitud:

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

    2. En el cuerpo de la solicitud, especifica el número de nodos de tu entorno.

  "config": {
    "nodeCount": NODE_COUNT
  }

Haz los cambios siguientes:

  • NODE_COUNT: número de nodos. El número mínimo 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 del bloque node_config especifica el número de nodos de tu entorno.

resource "google_composer_environment" "example" {

  config {
    node_config {
      node_count = NODE_COUNT
    }
}

Haz los cambios siguientes:

  • NODE_COUNT: número de nodos.

Ejemplo:

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

  config {

    node_config {
      node_count = 4
    }

}

Ajustar 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. En la Google Cloud consola, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre del 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 de la instancia de Cloud SQL de tu entorno.

  6. Haz clic en Guardar.

gcloud

Los argumentos de --cloud-sql-machine-type controlan el tipo de máquina de la instancia de Cloud SQL de tu entorno.

Ejecuta el siguiente comando de la CLI de Google Cloud:

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

Haz los cambios siguientes:

Ejemplo:

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

API

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

  2. En esta solicitud:

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

    2. En el cuerpo de la solicitud, especifica el tipo de máquina de la instancia de Cloud SQL.

{
  "config": {
    "databaseConfig": {
      "machineType": "SQL_MACHINE_TYPE"
    }
  }
}

Haz los cambios siguientes:

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 del bloque database_config especifica el tipo de máquina de la instancia de Cloud SQL.

resource "google_composer_environment" "example" {

  config {
    database_config {
      machine_type = "SQL_MACHINE_TYPE"
    }
  }
}

Haz los cambios siguientes:

Ejemplo:

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

  config {
    database_config {
      machine_type = "db-n1-standard-2"
    }
}

Ajustar el tipo de máquina del servidor web

Puedes cambiar el tipo de máquina del servidor web de Airflow de tu entorno.

Consola

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

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre del 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, haga 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 del servidor web de Airflow.

  6. Haz clic en Guardar.

gcloud

Los argumentos de --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 la CLI de Google Cloud:

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

Haz los cambios siguientes:

Ejemplo:

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

API

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

  2. En esta solicitud:

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

    2. En el cuerpo de la solicitud, especifica el tipo de máquina del servidor web.

{
  "config": {
    "webServerConfig": {
      "machineType": "WS_MACHINE_TYPE"
    }
  }
}

Haz los cambios siguientes:

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 del bloque web_server_config especifica el tipo de máquina de la instancia del servidor web de Airflow.

resource "google_composer_environment" "example" {

  config {
    web_server_config {
      machine_type = "WS_MACHINE_TYPE"
    }
  }
}

Haz los cambios siguientes:

Ejemplo:

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

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

Siguientes pasos