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

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

Límites de recursos

Componente Cantidad mínima Cantidad máxima CPU virtual mínima 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 de los trabajadores

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 usarán los trabajadores de Airflow en tu entorno. De esta manera, puedes aumentar el rendimiento de tu entorno, además del escalamiento horizontal proporcionado por el uso de varios trabajadores.

Consola

  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 las cargas de trabajo, ajusta los parámetros para los trabajadores de Airflow:

    • 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, 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 tu entorno debe ejecutar siempre. La cantidad de trabajadores en tu entorno no es inferior a esta cantidad, incluso si una cantidad menor de trabajadores puede controlar la carga.
  • --max-workers: Es la cantidad máxima de trabajadores de Airflow que puede ejecutar tu entorno. 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: 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 CPU 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 todos los parámetros para los trabajadores, especifica la máscara 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 CPU 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 para 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 tu entorno debe ejecutar siempre. La cantidad de trabajadores en tu entorno no es inferior a esta cantidad, incluso si una cantidad menor de trabajadores puede controlar la carga.
  • worker.max_count: Es la cantidad máxima de trabajadores de Airflow que puede ejecutar tu entorno. 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.
  • El 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 CPU 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 para 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 por el uso de varios programadores.

Consola

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

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

    • En los campos CPU, Memoria y Almacenamiento, especifica la cantidad de CPU, memoria y almacenamiento para los programadores de Airflow. Cada programador utiliza 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 CPU 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 el disco para 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 todos los parámetros del programador o solo la cantidad de programadores. También puedes actualizar los parámetros individuales del 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 para 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 recursos.

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

  • scheduler.cpu: Es la cantidad de CPU 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 el disco para 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 para 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 una instancia de activador en tu entorno (o al menos dos en entornos de alta resiliencia) para usar operadores diferibles en tus DAG.

Según el modo de resiliencia del entorno, existen diferentes opciones de configuración 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 10

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

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

Consola

  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 las cargas de trabajo, ajusta los parámetros de los activadores de Airflow:

    1. En la sección Activador, en el campo Cantidad de activadores, ingresa la cantidad de activadores en 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 de tus activadores.

    2. En CPU y Memoria, especifica la cantidad de CPU, 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 de alta resiliencia, usa 0 o un valor entre 2 y 10.
  • --triggerer-cpu: Es la cantidad de CPU para un activador de Airflow.

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

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 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 activadores, establece el recuento de activadores en 0. Esta operación no requiere que se especifique la CPU o la memoria para 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 los 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 CPU para 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 CPU 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 del DAG

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

Consola

  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 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 los 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 CPU 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 el disco para el procesador de DAG.

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 CPU 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 el disco para el procesador de DAG.

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 especificar una máscara para actualizar los parámetros individuales del procesador de DAG. Por ejemplo, config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb.

    2. En el cuerpo de la solicitud, especifica los parámetros nuevos 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 CPU para el procesador de DAG, en unidades de CPU virtual.
  • 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 procesador de DAG, 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 los parámetros del procesador de DAG de Airflow. Cada procesador de DAG usa la cantidad especificada 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 es la cantidad de espacio en 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 CPU para el procesador de DAG, en unidades de CPU virtual.
  • 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 procesador de DAG, 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 el disco que usará el servidor web de Airflow en tu entorno. De esta manera, puedes escalar el rendimiento de la IU de Airflow, por ejemplo, para que coincida con la demanda que proviene de una gran cantidad de usuarios o de una gran cantidad de DAG administrados.

Consola

  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 las cargas de trabajo, ajusta los parámetros del servidor web. En los campos CPU, Memoria y Almacenamiento, especifica la cantidad de CPU, 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: Es 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 parámetros del servidor web. 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 para el 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 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 para el 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 infraestructura administrada de Cloud Composer que incluye, por ejemplo, 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.

Consola

  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 elemento Recursos > Infraestructura principal, haz clic en Editar.

  6. En el panel Core infrastructure, en el campo Environment size, 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?