Escalar entornos

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

Otras páginas sobre el escalamiento:

Escalamiento vertical y horizontal

Opciones de escalamiento horizontal:

  • Ajusta la cantidad mínima y máxima de trabajadores.
  • Ajusta la cantidad de programadores, procesadores de DAG y activadores.

Opciones de escalamiento vertical:

  • Ajusta los parámetros de escalamiento y rendimiento del trabajador, el programador, el activador, el procesador de DAG y el servidor web.
  • Ajusta el tamaño del entorno.

Límites de recursos

Componente Cantidad mínima Cantidad máxima Cantidad mínima de CPU virtuales CPU virtual máxima Paso mínimo de CPU virtual Memoria mínima (GB) Memoria máxima (GB) Paso mínimo de memoria (GB) Memoria mínima por 1 CPU virtual (GB) Memoria máxima por 1 CPU virtual (GB) Almacenamiento mínimo (GB) Almacenamiento máximo (GB) Paso mínimo de almacenamiento (GB)
Programadores 1 3 0.5 1 0.5 0.5 8 0.25 1 8 0 100 1
Activadores 0 10 0.5 1 0.5 0.5 8 0.25 1 8 - - -
Servidor web - - 0.5 32 0.5, 1 o un múltiplo de 2 1 256 0.25 1 8 0 100 1
Trabajadores 1 100 0.5 32 0.5, 1 o un múltiplo de 2 1 256 0.25 1 8 0 100 1
Procesadores de DAG 1 3 0.5 32 0.5, 1 o un múltiplo de 2 1 256 0.25 1 8 0 100 1

Ajusta los parámetros del trabajador

Puedes configurar la cantidad mínima y máxima de trabajadores para tu entorno. Cloud Composer escala automáticamente tu entorno dentro de los límites establecidos. Puedes ajustar estos límites en cualquier momento.

Puedes especificar la cantidad de CPU, memoria y espacio en el disco que usan los trabajadores de Airflow en tu entorno. De esta manera, puedes aumentar el rendimiento de tu entorno, además del escalamiento horizontal proporcionado mediante el uso de varios trabajadores.

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 las cargas de trabajo, Haz clic en Editar.

  5. En el panel Configuración de cargas de trabajo, ajusta los parámetros de Airflow trabajadores:

    • En el campo Cantidad mínima de trabajadores, especifica la cantidad de trabajadores de Airflow que tu entorno debe ejecutar en todo momento. La cantidad de trabajadores en tu entorno no es inferior a esta cantidad durante el funcionamiento normal del entorno, incluso si una cantidad menor de trabajadores puede manejar la carga.

    • En el campo Cantidad máxima de trabajadores, especifica la cantidad máxima de trabajadores de Airflow que tu entorno puede ejecutar. La cantidad de trabajadores en tu entorno no supera esta cantidad, incluso si se requiere una mayor cantidad de trabajadores para manejar la carga.

    • En los campos CPU, Memoria y Almacenamiento, especifica la cantidad. de CPU, memoria y almacenamiento para los trabajadores de Airflow. Cada trabajador usa la cantidad especificada de recursos.

  6. Haz clic en Guardar.

gcloud

Los siguientes parámetros de trabajadores de Airflow están disponibles:

  • --min-workers: Es la cantidad de trabajadores de Airflow que debe tener tu entorno. ejecutar siempre. La cantidad de trabajadores en tu entorno no es inferior a este número, incluso si un número menor de trabajadores pueda controlar la carga.
  • --max-workers: Es la cantidad máxima de trabajadores de Airflow que un entorno de ejecución. La cantidad de trabajadores en tu entorno no supera esta cantidad, incluso si se requiere una mayor cantidad de trabajadores para manejar la carga.
  • --worker-cpu: Es la cantidad de CPUs para un trabajador de Airflow.
  • --worker-memory: Es la cantidad de memoria para un trabajador de Airflow.
  • --worker-storage: Es la cantidad de espacio en el disco para un trabajador de Airflow.

Ejecuta el siguiente comando de Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --min-workers WORKERS_MIN \
  --max-workers WORKERS_MAX \
  --worker-cpu WORKER_CPU \
  --worker-memory WORKER_MEMORY \
  --worker-storage WORKER_STORAGE

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • WORKERS_MIN: Es la cantidad mínima de trabajadores de Airflow.
  • WORKERS_MAX: Es la cantidad máxima de trabajadores de Airflow.
  • WORKER_CPU: Es la cantidad de CPUs para un trabajador, en unidades de CPU virtual.
  • WORKER_MEMORY: Es la cantidad de memoria para un trabajador.
  • WORKER_STORAGE: Es el tamaño del disco de un trabajador.

Ejemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --min-workers 2 \
  --max-workers 6 \
  --worker-cpu 1 \
  --worker-memory 2 \
  --worker-storage 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 los campos que deseas actualizar. Por ejemplo, para actualizar todas para los trabajadores, especifica config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.

    2. En el cuerpo de la solicitud, especifica los parámetros del trabajador nuevo.

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": WORKERS_MIN,
      "maxCount": WORKERS_MAX,
      "cpu": WORKER_CPU,
      "memoryGb": WORKER_MEMORY,
      "storageGb": WORKER_STORAGE
    }
  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • WORKERS_MIN: Es la cantidad mínima de trabajadores de Airflow.
  • WORKERS_MAX: Es la cantidad máxima de trabajadores de Airflow.
  • WORKER_CPU: Es la cantidad de CPUs para un trabajador, en unidades de CPU virtual.
  • WORKER_MEMORY: Es la cantidad de memoria para un trabajador, en GB.
  • WORKER_STORAGE: Es el tamaño del disco de un trabajador, en GB.

Ejemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.worker.minCount,
// config.workloadsConfig.worker.maxCount
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGB

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": 2,
      "maxCount": 6,
      "cpu": 1,
      "memoryGb": 2,
      "storageGb": 2
    }
  }
}

Terraform

Los siguientes campos del bloque workloads_config.worker controlan los parámetros del trabajador de Airflow. Cada trabajador utiliza la cantidad especificada de recursos.

  • worker.min_count: Es la cantidad de trabajadores de Airflow que debe tener tu entorno. ejecutar siempre. La cantidad de trabajadores en tu entorno no es inferior a este número, incluso si un número menor de trabajadores pueda controlar la carga.
  • worker.max_count: Es la cantidad máxima de trabajadores de Airflow que tu entorno puede ejecutar. La cantidad de trabajadores en tu entorno no supera esta cantidad, incluso si se requiere una mayor cantidad de trabajadores para manejar la carga.
  • worker.cpu: Es la cantidad de CPU para un trabajador de Airflow.
  • worker.memory_gb: Es la cantidad de memoria para un trabajador de Airflow.
  • El worker.storage_gb: Es la cantidad de espacio en disco para un trabajador de Airflow.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      worker {
        min_count = WORKERS_MIN
        max_count = WORKERS_MAX
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
      }
    }

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • WORKERS_MIN: Es la cantidad mínima de trabajadores de Airflow.
  • WORKERS_MAX: Es la cantidad máxima de trabajadores de Airflow.
  • WORKER_CPU: Es la cantidad de CPUs para un trabajador, en unidades de CPU virtual.
  • WORKER_MEMORY: Es la cantidad de memoria para un trabajador, en GB.
  • WORKER_STORAGE: Es el tamaño del disco de un trabajador, en GB.

Ejemplo:

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

  config {

    workloads_config {
      worker {
        min_count = 2
        max_count = 6
        cpu = 1
        memory_gb = 2
        storage_gb = 2
      }
    }

  }
}

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.

Puedes tener hasta 3 programadores en 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.

Puedes especificar la cantidad de CPU, memoria y espacio en el disco que usan los programadores de Airflow en tu entorno. De esta manera, puedes aumentar el rendimiento de tu entorno, además del escalamiento horizontal proporcionado mediante el uso de varios programadores.

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 panel Configuración de las cargas de trabajo, ajusta los parámetros de los programadores de Airflow:

    • En la lista desplegable Número de programadores, selecciona el número de programadores de software para tu entorno.

    • En los campos CPU, Memoria y Almacenamiento, especifica la cantidad de CPUs, memoria y almacenamiento para los programadores de Airflow. Cada programador usa la cantidad especificada de recursos.

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

  • --scheduler-cpu: Es la cantidad de CPUs para un programador de Airflow.

  • --scheduler-memory: Es la cantidad de memoria para un programador de Airflow.

  • --scheduler-storage: Es la cantidad de espacio en disco de un programador de Airflow.

Ejecuta el siguiente comando de Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --scheduler-cpu SCHEDULER_CPU \
  --scheduler-memory SCHEDULER_MEMORY \
  --scheduler-storage SCHEDULER_STORAGE \
  --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_CPU: Es la cantidad de CPU para un programador, en unidades de CPU virtual.

  • SCHEDULER_MEMORY: Es la cantidad de memoria para un programador.

  • SCHEDULER_STORAGE: Es el tamaño del disco para un programador.

  • SCHEDULER_COUNT: Es la cantidad de programadores.

Ejemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-cpu 0.5 \
  --scheduler-memory 2.5 \
  --scheduler-storage 2 \
  --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.scheduler para actualizar todo el programador parámetros o solo el número de programadores. También puedes actualizar Parámetros individuales de programador, excepto count, si especificas una máscara. Por ejemplo, config.workloadsConfig.scheduler.cpu.

    2. En el cuerpo de la solicitud, especifica los parámetros nuevos del programador.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": SCHEDULER_CPU,
      "memoryGb": SCHEDULER_MEMORY,
      "storageGb": SCHEDULER_STORAGE,
      "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_CPU: Es la cantidad de CPU para un programador, en unidades de CPU virtual.

  • SCHEDULER_MEMORY: Es la cantidad de memoria para un programador, en GB.

  • SCHEDULER_STORAGE: Es el tamaño del disco de un programador, en GB.

  • 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": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2,
      "count": 2
    }
  }
}

Terraform

Los siguientes campos del bloque workloads_config.scheduler controlan los parámetros del programador de Airflow. Cada programador utiliza la cantidad especificada de de Google Cloud.

  • scheduler.count: Es la cantidad de programadores en tu entorno.

  • scheduler.cpu: Es la cantidad de CPUs para un programador de Airflow.

  • scheduler.memory_gb: Es la cantidad de memoria para un programador de Airflow.

  • scheduler.storage_gb: Es la cantidad de espacio en disco de un programador.

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

  config {

    workloads_config {
      scheduler {
        cpu = SCHEDULER_CPU
        memory_gb = SCHEDULER_MEMORY
        storage_gb = SCHEDULER_STORAGE
        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_CPU: Es la cantidad de CPU para un programador, en unidades de CPU virtual.

  • SCHEDULER_MEMORY: Es la cantidad de memoria para un programador, en GB.

  • SCHEDULER_STORAGE: Es el tamaño del disco de un programador, en GB.

  • 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 {
        
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
        
        count = 2
      }
    }

  }
}

Ajusta los parámetros del activador

Puedes establecer la cantidad de activadores en cero, pero necesitas al menos uno instancia de activador en tu entorno (o al menos dos en entornos entornos), para usar operadores diferibles en tus DAG.

Según el modo de resiliencia de tu entorno, existen diferentes configuraciones posibles para la cantidad de activadores:

  • Resiliencia estándar: Puedes ejecutar hasta 10 activadores.
  • Resiliencia alta: al menos 2 activadores, hasta un máximo de

Incluso si la cantidad de activadores se establece en cero, la definición de un Pod del activador se crea y es visible en el clúster de tu entorno, pero no hay un activador se ejecutan las cargas de trabajo.

También puedes especificar la cantidad de CPU, memoria y espacio en el disco que Airflow usa. activadores de tu entorno. De esta manera, puedes aumentar el rendimiento de tu entorno, además del escalamiento horizontal proporcionado mediante el uso de varios activadores.

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 las cargas de trabajo, Haz clic en Editar.

  5. En el panel Configuración de cargas de trabajo, ajusta los parámetros de Airflow activadores:

    1. En la sección Activador, en el campo Cantidad de activadores, ingresa la cantidad de activadores de tu entorno.

      Si configuras al menos un activador para tu entorno, usa también los campos CPU y Memoria para configurar la asignación de recursos para los activadores.

    2. En CPU y Memoria, especifica la cantidad de CPUs, memoria y almacenamiento para los activadores de Airflow. Cada activador usa la cantidad especificada de recursos.

  6. Haz clic en Guardar.

gcloud

Los siguientes parámetros del activador de Airflow están disponibles:

  • --triggerer-count: Es la cantidad de activadores en tu entorno.

    • Para entornos de resiliencia estándar, usa un valor entre 0 y 10.
    • Para entornos altamente resilientes, usa 0 o un valor entre 2 y 10.
  • --triggerer-cpu: Es la cantidad de CPUs de un activador de Airflow.

  • --triggerer-memory: Es la cantidad de memoria de un Airflow. activador.

Ejecuta el siguiente comando de Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --triggerer-count TRIGGERER_COUNT \
  --triggerer-cpu TRIGGERER_CPU \
  --triggerer-memory TRIGGERER_MEMORY

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • TRIGGERER_COUNT: Es la cantidad de activadores.
  • TRIGGERER_CPU: Es la cantidad de CPU para un activador, en unidades de CPU virtual.
  • TRIGGERER_MEMORY: Es la cantidad de memoria para un activador.

Ejemplos:

  • Escala a cuatro instancias del activador:
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 4 \
    --triggerer-cpu 1 \
    --triggerer-memory 1
  ```

- Disable triggerers by setting triggerer count to `0`. This operation
  doesn't require specifying CPU or memory for the triggerers.

```bash
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 0
  ```

API

  1. En el parámetro de consulta updateMask, especifica la Máscara de config.workloadsConfig.triggerer.

  2. En el cuerpo de la solicitud, especifica los tres parámetros para los activadores.

"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": TRIGGERER_COUNT,
      "cpu": TRIGGERER_CPU,
      "memoryGb": TRIGGERER_MEMORY
    }
  }
}

Reemplaza lo siguiente:

  • TRIGGERER_COUNT: Es la cantidad de activadores.

    • Para entornos de resiliencia estándar, usa un valor entre 0 y 10.
    • Para entornos de alta resiliencia, usa 0: o un valor entre 2 y 10
  • TRIGGERER_CPU: Es la cantidad de CPU para un activador, en unidades de CPU virtual.

  • TRIGGERER_MEMORY: Es la cantidad de memoria para un activador.

Ejemplos:

  • Para inhabilitar los activadores, establece el recuento de activadores en 0. Esta operación no requiere especificar la CPU o la memoria de los activadores.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 0
    }
  }
}
  • Escala a cuatro instancias del activador:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 4,
      "cpu": 1,
      "memoryGb": 1
    }
  }
}

Terraform

Los siguientes campos del bloque workloads_config.triggerer controlan la Parámetros del activador de Airflow. Cada activador usa la cantidad especificada de recursos.

  • triggerer.count: Es la cantidad de activadores en tu entorno.

    • Para entornos de resiliencia estándar, usa un valor entre 0 y 10.
    • Para entornos de alta resiliencia, usa 0: o un valor entre 2 y 10
  • triggerer.cpu: Es la cantidad de CPUs de un activador de Airflow.

  • triggerer.memory_gb: Es la cantidad de memoria para un activador de Airflow.

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

  config {

    workloads_config {
      triggerer {
        count = TRIGGERER_COUNT
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
      }
    }

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • TRIGGERER_COUNT: Es la cantidad de activadores.
  • TRIGGERER_CPU: Es la cantidad de CPUs para un activador, en unidades de CPU virtual.
  • TRIGGERER_MEMORY: Es la cantidad de memoria para un activador, en GB.

Ejemplo:

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

  config {

    workloads_config {
      triggerer {
        count = 1
        cpu = 0.5
        memory_gb = 0.5
      }
    }

  }
}

Ajusta los parámetros del procesador de DAG

Puedes especificar la cantidad de procesadores de DAG en tu entorno de CPU, memoria y espacio en disco que usa cada procesador de DAG.

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 panel Configuración de las cargas de trabajo, ajusta los parámetros para los procesadores de DAG de Airflow:

    • En la lista desplegable Cantidad de procesadores de DAG, selecciona la cantidad de procesadores de DAG para tu entorno.

    • En los campos CPU, Memoria y Almacenamiento, especifica la cantidad. de CPU, memoria y almacenamiento para procesadores de DAG de Airflow. Cada procesador de DAG usa la cantidad especificada de recursos.

  6. Haz clic en Guardar.

gcloud

Los siguientes parámetros del procesador de DAG de Airflow están disponibles:

  • --dag-processor-count: Es la cantidad de procesadores de DAG.
  • --dag-processor-cpu: Es la cantidad de CPUs para el procesador de DAG.
  • --dag-processor-memory: Es la cantidad de memoria para el procesador de DAG.
  • --dag-processor-storage: Es la cantidad de espacio en disco para el DAG. y un encargado del tratamiento de datos.

Ejecuta el siguiente comando de Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
    --dag-processor-count DAG_PROCESSOR_COUNT \
    --dag-processor-cpu DAG_PROCESSOR_CPU \
    --dag-processor-memory DAG_PROCESSOR_MEMORY \
    --dag-processor-storage DAG_PROCESSOR_STORAGE

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • DAG_PROCESSOR_CPU: Es la cantidad de CPUs para el procesador de DAG.
  • DAG_PROCESSOR_MEMORY: Es la cantidad de memoria para el procesador de DAG.
  • DAG_PROCESSOR_STORAGE: Es la cantidad de espacio en disco para el DAG. y un encargado del tratamiento de datos.

Ejemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --dag-processor-count 2 \
  --dag-processor-cpu 0.5 \
  --dag-processor-memory 2 \
  --dag-processor-storage 1

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.dagProcessor para actualizar todos los parámetros del procesador de DAG, incluida la cantidad de procesadores de DAG. También puedes actualizar parámetros individuales del procesador de DAG si especificas una máscara. Por ejemplo, config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb.

    2. En el cuerpo de la solicitud, especifica los nuevos parámetros del procesador de DAG.

"config": {
  "workloadsConfig": {
    "dagProcessor": {
      "count": DAG_PROCESSOR_COUNT,
      "cpu": DAG_PROCESSOR_CPU,
      "memoryGb": DAG_PROCESSOR_MEMORY,
      "storageGb": DAG_PROCESSOR_STORAGE
    }
  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • DAG_PROCESSOR_COUNT: Es la cantidad de procesadores de DAG.
  • DAG_PROCESSOR_CPU: Es la cantidad de CPUs para el procesador de DAG, en unidades de vCPU.
  • DAG_PROCESSOR_MEMORY: Es la cantidad de memoria para el procesador de DAG, en GB.
  • DAG_PROCESSOR_STORAGE: Es la cantidad de espacio en disco para el DAG. y un procesador de texto, en GB.

Ejemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.dagProcessor

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": 2
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Los siguientes campos del bloque workloads_config.dag_processor controlan la Parámetros del procesador de DAG de Airflow. Cada procesador de DAG usa el rango de cantidad de recursos.

  • dag_processor.count: Es la cantidad de procesadores de DAG en tu entorno.
  • dag_processor.cpu: Es la cantidad de CPU para un procesador de DAG.
  • dag_processor.memory_gb: Es la cantidad de memoria para un procesador de DAG.
  • dag_processor.storage_gb la cantidad de espacio en el disco para un procesador de DAG.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      dag_processor {
        count = DAG_PROCESSOR_COUNT
        cpu = DAG_PROCESSOR_CPU
        memory_gb = DAG_PROCESSOR_MEMORY
        storage_gb = DAG_PROCESSOR_STORAGE
      }
    }

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • DAG_PROCESSOR_COUNT: Es la cantidad de procesadores de DAG.
  • DAG_PROCESSOR_CPU: Es la cantidad de CPUs para el procesador de DAG, en unidades de vCPU.
  • DAG_PROCESSOR_MEMORY: Es la cantidad de memoria para el procesador de DAG, en GB.
  • DAG_PROCESSOR_STORAGE: Es la cantidad de espacio en disco para el DAG. y un procesador de texto, en GB.

Ejemplo:

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

  config {

    workloads_config {
      dag_processor {
        count = 2
        cpu = 0.5
        memory_gb = 2
        storage_gb = 1
      }
    }

  }
}

Ajusta los parámetros del servidor web

Puedes especificar la cantidad de CPU, memoria y espacio en disco que Airflow usará servidor web en tu entorno. De esta manera, puede escalar el rendimiento de Airflow de Airflow, para coincidir con la demanda que proviene de una gran cantidad de usuarios o una gran cantidad de DAG administrados.

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 panel Configuración de las cargas de trabajo, ajusta los parámetros del servidor web. En los campos CPU, Memoria y Almacenamiento, especifica la cantidad de CPUs, memoria y almacenamiento para el servidor web.

  6. Haz clic en Guardar.

gcloud

Los siguientes parámetros del servidor web de Airflow están disponibles:

  • --web-server-cpu: Es la cantidad de CPU para el servidor web de Airflow.
  • --web-server-memory: la cantidad de memoria para el servidor web de Airflow.
  • --web-server-storage: Es la cantidad de espacio en disco para el servidor web de Airflow.

Ejecuta el siguiente comando de Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-cpu WEB_SERVER_CPU \
  --web-server-memory WEB_SERVER_MEMORY \
  --web-server-storage WEB_SERVER_STORAGE

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • WEB_SERVER_CPU: Es la cantidad de CPU para el servidor web en unidades de CPU virtual.
  • WEB_SERVER_MEMORY: Es la cantidad de memoria del servidor web.
  • WEB_SERVER_STORAGE: Es la cantidad de memoria para el servidor web.

Ejemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-cpu 1 \
  --web-server-memory 2.5 \
  --web-server-storage 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.webServer para actualizar todos los servidores web parámetros. También puedes actualizar los parámetros individuales del servidor web especificando una máscara para esos parámetros: config.workloadsConfig.webServer.cpu: config.workloadsConfig.webServer.memoryGb, config.workloadsConfig.webServer.storageGb

    2. En el cuerpo de la solicitud, especifica los parámetros nuevos del servidor web.

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": WEB_SERVER_CPU,
      "memoryGb": WEB_SERVER_MEMORY,
      "storageGb": WEB_SERVER_STORAGE
    }
  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • WEB_SERVER_CPU: Es la cantidad de CPU para el servidor web en unidades de CPU virtual.
  • WEB_SERVER_MEMORY: Es la cantidad de memoria para el servidor web, en GB.
  • WEB_SERVER_STORAGE: Es el tamaño del disco del servidor web, en GB.

Ejemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Los siguientes campos del bloque workloads_config.web_server controlan la los parámetros del servidor web.

  • web_server.cpu: Es la cantidad de CPU para el servidor web.
  • La web_server.memory_gb: Es la cantidad de memoria para el servidor web.
  • La web_server.storage_gb: Es la cantidad de espacio en disco para el servidor web.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
    }

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • WEB_SERVER_CPU: Es la cantidad de CPU para el servidor web en unidades de CPU virtual.
  • WEB_SERVER_MEMORY: Es la cantidad de memoria para el servidor web, en GB.
  • WEB_SERVER_STORAGE: Es el tamaño del disco del servidor web, en GB.

Ejemplo:

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

  config {

    workloads_config {
      web_server {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
    }

  }
}

Ajusta el tamaño del entorno

El tamaño del entorno controla los parámetros de rendimiento de la cuenta infraestructura de Cloud Composer que incluye, por ejemplo, los de la base de datos de Airflow.

Considera seleccionar un tamaño de entorno más grande si deseas ejecutar una gran cantidad de DAG y tareas.

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 > Infraestructura principal, Haz clic en Editar.

  6. En el panel Infraestructura principal, en el campo Tamaño del entorno, especifica el tamaño del entorno.

  7. Haz clic en Guardar.

gcloud

El argumento --environment-size controla el tamaño del entorno:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --environment-size ENVIRONMENT_SIZE

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • ENVIRONMENT_SIZE: small, medium o large.

Ejemplo:

gcloud composer environments update example-environment \
    --location us-central1 \
    --environment-size medium

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

    2. En el cuerpo de la solicitud, especifica el tamaño del entorno.

  "config": {
    "environmentSize": "ENVIRONMENT_SIZE"
  }

Reemplaza lo siguiente:

  • ENVIRONMENT_SIZE: Es el tamaño del entorno, ENVIRONMENT_SIZE_SMALL. ENVIRONMENT_SIZE_MEDIUM o ENVIRONMENT_SIZE_LARGE.

Ejemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize

"config": {
  "environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}

Terraform

El campo environment_size en el bloque config controla el tamaño del entorno:

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

  config {

    environment_size = "ENVIRONMENT_SIZE"

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • ENVIRONMENT_SIZE: Es el tamaño del entorno, ENVIRONMENT_SIZE_SMALL. ENVIRONMENT_SIZE_MEDIUM o ENVIRONMENT_SIZE_LARGE.

Ejemplo:

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

  config {

    environment_size = "ENVIRONMENT_SIZE_SMALL"

    }
  }
}

¿Qué sigue?