Scala gli ambienti

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Questa pagina descrive come scalare gli ambienti Cloud Composer.

Altre pagine sulla scalabilità:

Scalabilità verticale e orizzontale

Opzioni per la scalabilità orizzontale:

  • Regola il numero minimo e massimo di worker.
  • Regola il numero di scheduler, processori DAG e triggerer.

Opzioni per la scalabilità verticale:

  • Regola worker, scheduler, triggerer, processore DAG e server web. Scalabilità e parametri delle prestazioni.
  • Regola le dimensioni dell'ambiente.

Limiti delle risorse

Componente Conteggio minimo Numero massimo vCPU minima vCPU massima Passaggio minimo vCPU Memoria minima (GB) Memoria massima (GB) Passaggio minimo memoria (GB) Memoria minima per 1 vCPU (GB) Memoria massima per 1 vCPU (GB) Spazio di archiviazione minimo (GB) Spazio di archiviazione massimo (GB) Passaggio minimo dello spazio di archiviazione (GB)
Scheduler 1 3 0,5 1 0,5 0,5 8 0,25 1 8 0 100 1
Triggerer 0 10 0,5 1 0,5 0,5 8 0,25 1 8 - - -
Server web - - 0,5 32 0, 5, 1 o un multiplo di 2 1 256 0,25 1 8 0 100 1
Worker 1 100 0,5 32 0, 5, 1 o un multiplo di 2 1 256 0,25 1 8 0 100 1
Processori DAG 1 3 0,5 32 0, 5, 1 o un multiplo di 2 1 256 0,25 1 8 0 100 1

Regola i parametri del worker

Puoi impostare il numero minimo e massimo di worker per il tuo ambiente. Cloud Composer scala automaticamente l'ambiente entro i limiti impostati. Puoi modificare questi limiti in qualsiasi momento.

Puoi specificare la quantità di CPU, memoria e spazio su disco utilizzati dai worker Airflow nel tuo ambiente. In questo modo, puoi aumentare le prestazioni dell'ambiente, oltre alla scalabilità orizzontale fornita dall'utilizzo di più worker.

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. Nella voce Risorse > Configurazione carichi di lavoro, fai clic su Modifica.

  5. Nel riquadro Configurazione dei carichi di lavoro, regola i parametri per i worker di Airflow:

    • Nel campo Numero minimo di worker, specifica il numero di worker Airflow che il tuo ambiente deve sempre eseguire. Il numero di worker nel tuo ambiente non è inferiore a questo numero, anche se un numero inferiore di worker è in grado di gestire il carico.

    • Nel campo Numero massimo di worker, specifica il numero massimo di worker Airflow che il tuo ambiente può eseguire. Il numero di worker nel tuo ambiente non supera questo numero, anche se per gestire il carico è necessario un numero maggiore di worker.

    • Nei campi CPU, Memoria e Archiviazione, specifica il numero di CPU, la memoria e l'archiviazione per i worker di Airflow. Ogni worker utilizza la quantità specificata di risorse.

  6. Fai clic su Salva.

gcloud

Sono disponibili i seguenti parametri worker Airflow:

  • --min-workers: il numero di worker Airflow che il tuo ambiente deve sempre eseguire. Il numero di worker nel tuo ambiente non scende al di sotto di questo numero, anche se un numero inferiore di worker è in grado di gestire il carico.
  • --max-workers: il numero massimo di worker Airflow che il tuo ambiente può eseguire. Il numero di worker nel tuo ambiente non supera questo numero, anche se per gestire il carico è necessario un numero più elevato di worker.
  • --worker-cpu: il numero di CPU per un worker Airflow.
  • --worker-memory: la quantità di memoria per un worker Airflow.
  • --worker-storage: la quantità di spazio su disco per un worker Airflow.

Esegui questo comando di 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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • WORKERS_MIN: il numero minimo di worker Airflow.
  • WORKERS_MAX: il numero massimo di worker Airflow.
  • WORKER_CPU: il numero di CPU per un worker, in unità vCPU.
  • WORKER_MEMORY: la quantità di memoria per un worker.
  • WORKER_STORAGE: le dimensioni del disco per un worker.

Esempio:

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. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica i campi da aggiornare. Ad esempio, per aggiornare tutti i parametri per i worker, specifica la maschera config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.

    2. Nel corpo della richiesta, specifica i nuovi parametri del worker.

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • WORKERS_MIN: il numero minimo di worker Airflow.
  • WORKERS_MAX: il numero massimo di worker Airflow.
  • WORKER_CPU: il numero di CPU per un worker, in unità vCPU.
  • WORKER_MEMORY: la quantità di memoria per un worker, in GB.
  • WORKER_STORAGE: le dimensioni del disco per un worker, in GB.

Esempio:

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

I seguenti campi nel blocco workloads_config.worker controllano i parametri worker di Airflow. Ogni worker utilizza la quantità specificata di risorse.

  • worker.min_count: il numero di worker Airflow che il tuo ambiente deve sempre eseguire. Il numero di worker nel tuo ambiente non scende al di sotto di questo numero, anche se un numero inferiore di worker è in grado di gestire il carico.
  • worker.max_count: il numero massimo di worker Airflow che il tuo ambiente può eseguire. Il numero di worker nel tuo ambiente non supera questo numero, anche se per gestire il carico è necessario un numero più elevato di worker.
  • worker.cpu: il numero di CPU per un worker Airflow.
  • worker.memory_gb: la quantità di memoria per un worker Airflow.
  • worker.storage_gb: la quantità di spazio su disco per un worker 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
      }
    }

  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • WORKERS_MIN: il numero minimo di worker Airflow.
  • WORKERS_MAX: il numero massimo di worker Airflow.
  • WORKER_CPU: il numero di CPU per un worker, in unità vCPU.
  • WORKER_MEMORY: la quantità di memoria per un worker, in GB.
  • WORKER_STORAGE: le dimensioni del disco per un worker, in GB.

Esempio:

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

  }
}

Regola i parametri dello scheduler

Il tuo ambiente può eseguire più di uno scheduler Airflow contemporaneamente. Utilizza più scheduler per distribuire il carico tra diverse istanze di scheduler per migliorare prestazioni e affidabilità.

Puoi avere fino a 3 scheduler nel tuo ambiente.

L'aumento del numero di scheduler non migliora sempre le prestazioni di Airflow. Ad esempio, avere un solo scheduler può offrire prestazioni migliori rispetto a due. Questo può accadere quando lo scheduler aggiuntivo non viene utilizzato e quindi consuma risorse del tuo ambiente senza contribuire alle prestazioni complessive. Le prestazioni effettive dello scheduler dipendono dal numero di worker di Airflow, dal numero di DAG e attività in esecuzione nel tuo ambiente e dalla configurazione di Airflow e dell'ambiente.

Ti consigliamo di iniziare con due scheduler e poi di monitorare le prestazioni dell'ambiente. Se modifichi il numero di scheduler, puoi sempre riportare l'ambiente al numero originale di scheduler.

Per ulteriori informazioni sulla configurazione di più scheduler, consulta la documentazione di Airflow.

Puoi specificare la quantità di CPU, memoria e spazio su disco utilizzati dagli scheduler di Airflow nel tuo ambiente. In questo modo, puoi aumentare le prestazioni dell'ambiente, oltre alla scalabilità orizzontale fornita dall'utilizzo di più scheduler.

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. Nella voce Risorse > Configurazione carichi di lavoro, fai clic su Modifica.

  5. Nel riquadro Configurazione dei carichi di lavoro, regola i parametri per i programmatori di Airflow:

    • Nell'elenco a discesa Numero di scheduler, seleziona il numero di scheduler per il tuo ambiente.

    • Nei campi CPU, Memoria e Archiviazione, specifica il numero di CPU, la memoria e l'archiviazione per gli scheduler di Airflow. Ogni scheduler utilizza la quantità specificata di risorse.

  6. Fai clic su Salva.

gcloud

Sono disponibili i seguenti parametri dello scheduler Airflow:

  • --scheduler-count: il numero di scheduler nel tuo ambiente.

  • --scheduler-cpu: il numero di CPU per uno scheduler Airflow.

  • --scheduler-memory: la quantità di memoria per uno scheduler Airflow.

  • --scheduler-storage: la quantità di spazio su disco per uno scheduler Airflow.

Esegui questo comando di 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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.

  • SCHEDULER_CPU: il numero di CPU per uno scheduler, in unità vCPU.

  • SCHEDULER_MEMORY: la quantità di memoria per uno scheduler.

  • SCHEDULER_STORAGE: la dimensione del disco per uno scheduler.

  • SCHEDULER_COUNT: il numero di scheduler.

Esempio:

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. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.workloadsConfig.scheduler per aggiornare tutti i parametri dello scheduler o solo il numero degli scheduler. Puoi anche aggiornare i singoli parametri dello scheduler, ad eccezione di count, specificando una maschera. Ad esempio: config.workloadsConfig.scheduler.cpu.

    2. Specifica i nuovi parametri dello scheduler nel corpo della richiesta.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": SCHEDULER_CPU,
      "memoryGb": SCHEDULER_MEMORY,
      "storageGb": SCHEDULER_STORAGE,
      "count": SCHEDULER_COUNT
    }
  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.

  • SCHEDULER_CPU: il numero di CPU per uno scheduler, in unità vCPU.

  • SCHEDULER_MEMORY: la quantità di memoria per uno scheduler, in GB.

  • SCHEDULER_STORAGE: le dimensioni del disco per uno scheduler, in GB.

  • SCHEDULER_COUNT: il numero di scheduler.

Esempio:

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

I seguenti campi nel blocco workloads_config.scheduler controllano i parametri dello scheduler di Airflow. Ogni scheduler usa la quantità specificata di risorse.

  • scheduler.count: il numero di scheduler nel tuo ambiente.

  • scheduler.cpu: il numero di CPU per uno scheduler Airflow.

  • scheduler.memory_gb: la quantità di memoria per uno scheduler Airflow.

  • scheduler.storage_gb: la quantità di spazio su disco per uno scheduler.

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

  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.

  • SCHEDULER_CPU: il numero di CPU per uno scheduler, in unità vCPU.

  • SCHEDULER_MEMORY: la quantità di memoria per uno scheduler, in GB.

  • SCHEDULER_STORAGE: le dimensioni del disco per uno scheduler, in GB.

  • SCHEDULER_COUNT: il numero di scheduler.

Esempio:

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

  }
}

Regola i parametri dell'attivatore

Puoi impostare il numero di triggerer su zero, ma hai bisogno di almeno un'istanza di trigger nel tuo ambiente (o almeno due in ambienti altamente resilienti) per utilizzare operatori ripristinabili nei tuoi DAG.

A seconda della modalità di resilienza del tuo ambiente, sono possibili diverse configurazioni per il numero di triggerer:

  • Resilienza standard: puoi eseguire fino a 10 triggerer.
  • Alta resilienza: almeno 2 triggerer, fino a un massimo di 10.

Anche se il numero di triggerer è impostato su zero, viene creata una definizione del pod dell'attivatore che risulta visibile nel cluster del tuo ambiente, ma non vengono eseguiti carichi di lavoro dell'attivatore effettivo.

Puoi anche specificare la quantità di CPU, memoria e spazio su disco utilizzati dagli attivatori di Airflow nel tuo ambiente. In questo modo, puoi aumentare le prestazioni dell'ambiente, oltre alla scalabilità orizzontale fornita dall'utilizzo di più attivatori.

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. Nella voce Risorse > Configurazione carichi di lavoro, fai clic su Modifica.

  5. Nel riquadro Configurazione dei carichi di lavoro, regola i parametri per gli attivatori di Airflow:

    1. Nella sezione Triggerer, inserisci il numero di triggerer nel tuo ambiente nel campo Numero di triggerer.

      Se imposti almeno un triggerer per il tuo ambiente, utilizza anche i campi CPU e Memoria per configurare l'allocazione delle risorse per i triggerer.

    2. In CPU e Memoria, specifica il numero di CPU, la memoria e lo spazio di archiviazione per i triggerer di Airflow. Ogni triggerer utilizza la quantità specificata di risorse.

  6. Fai clic su Salva.

gcloud

Sono disponibili i seguenti parametri dell'attivatore Airflow:

  • --triggerer-count: il numero di triggerer nel tuo ambiente.

    • Per gli ambienti di resilienza standard, utilizza un valore compreso tra 0 e 10.
    • Per ambienti altamente resilienti, utilizza 0 o un valore compreso tra 2 e 10.
  • --triggerer-cpu: il numero di CPU per un triggerer Airflow.

  • --triggerer-memory: la quantità di memoria per un attivatore di Airflow.

Esegui questo comando di Google Cloud CLI:

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • TRIGGERER_COUNT: il numero di triggerer.
  • TRIGGERER_CPU: il numero di CPU per un triggerer, in unità vCPU.
  • TRIGGERER_MEMORY: la quantità di memoria per un triggerer.

Esempi:

  • Scala fino a quattro istanze di trigger:
  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. Nel parametro di query updateMask, specifica la maschera config.workloadsConfig.triggerer.

  2. Nel corpo della richiesta, specifica tutti e tre i parametri per gli attivatori.

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

Sostituisci quanto segue:

  • TRIGGERER_COUNT: il numero di triggerer.

    • Per gli ambienti di resilienza standard, utilizza un valore compreso tra 0 e 10.
    • Per ambienti altamente resilienti, utilizza 0 o un valore compreso tra 2 e 10.
  • TRIGGERER_CPU: il numero di CPU per un triggerer, in unità vCPU.

  • TRIGGERER_MEMORY: la quantità di memoria per un triggerer.

Esempi:

  • Disabilita gli attivatori impostando il conteggio degli attivatori su 0. Questa operazione non richiede di specificare CPU o memoria per i triggerer.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 0
    }
  }
}
  • Scala fino a quattro istanze di trigger:
// 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

I seguenti campi nel blocco workloads_config.triggerer controllano i parametri dell'attivatore Airflow. Ogni triggerer utilizza la quantità specificata di risorse.

  • triggerer.count: il numero di triggerer nel tuo ambiente.

    • Per gli ambienti di resilienza standard, utilizza un valore compreso tra 0 e 10.
    • Per ambienti altamente resilienti, utilizza 0 o un valore compreso tra 2 e 10.
  • triggerer.cpu: il numero di CPU per un triggerer Airflow.

  • triggerer.memory_gb: la quantità di memoria per un triggerer 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
      }
    }

  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • TRIGGERER_COUNT: il numero di triggerer.
  • TRIGGERER_CPU: il numero di CPU per un triggerer, in unità vCPU.
  • TRIGGERER_MEMORY: la quantità di memoria per un trigger, in GB.

Esempio:

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

  }
}

Regola i parametri del processore DAG

Puoi specificare il numero di processori DAG nel tuo ambiente e la quantità di CPU, memoria e spazio su disco utilizzati da ciascun processore DAG.

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. Nella voce Risorse > Configurazione carichi di lavoro, fai clic su Modifica.

  5. Nel riquadro Configurazione dei carichi di lavoro, regola i parametri per i processori DAG di Airflow:

    • Nell'elenco a discesa Numero di processori DAG, seleziona il numero di processori DAG per il tuo ambiente.

    • Nei campi CPU, Memoria e Archiviazione, specifica il numero di CPU, la memoria e l'archiviazione per i processori DAG di Airflow. Ogni processore DAG utilizza la quantità specificata di risorse.

  6. Fai clic su Salva.

gcloud

Sono disponibili i seguenti parametri del processore DAG di Airflow:

  • --dag-processor-count: il numero di processori DAG.
  • --dag-processor-cpu: il numero di CPU per il processore DAG.
  • --dag-processor-memory: la quantità di memoria per il processore DAG.
  • --dag-processor-storage: la quantità di spazio su disco per il processore DAG.

Esegui questo comando di 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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • DAG_PROCESSOR_CPU: il numero di CPU per il processore DAG.
  • DAG_PROCESSOR_MEMORY: la quantità di memoria per il processore DAG.
  • DAG_PROCESSOR_STORAGE: la quantità di spazio su disco per il processore DAG.

Esempio:

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. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.workloadsConfig.dagProcessor per aggiornare tutti i parametri del processore DAG, incluso il numero di processori DAG. Puoi anche aggiornare singoli parametri del processore DAG specificando una maschera. Ad esempio, config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb.

    2. Nel corpo della richiesta, specifica i nuovi parametri del processore DAG.

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • DAG_PROCESSOR_COUNT: il numero di processori DAG.
  • DAG_PROCESSOR_CPU: il numero di CPU per il processore DAG, in unità vCPU.
  • DAG_PROCESSOR_MEMORY: la quantità di memoria per il processore DAG, in GB.
  • DAG_PROCESSOR_STORAGE: la quantità di spazio su disco per il processore DAG, in GB.

Esempio:

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

I seguenti campi nel blocco workloads_config.dag_processor controllano i parametri del processore DAG di Airflow. Ogni processore DAG usa la quantità specificata di risorse.

  • dag_processor.count: il numero di processori DAG nel tuo ambiente.
  • dag_processor.cpu: il numero di CPU per un processore DAG.
  • dag_processor.memory_gb: la quantità di memoria per un processore DAG.
  • dag_processor.storage_gb la quantità di spazio su disco per un processore 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
      }
    }

  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • DAG_PROCESSOR_COUNT: il numero di processori DAG.
  • DAG_PROCESSOR_CPU: il numero di CPU per il processore DAG, in unità vCPU.
  • DAG_PROCESSOR_MEMORY: la quantità di memoria per il processore DAG, in GB.
  • DAG_PROCESSOR_STORAGE: la quantità di spazio su disco per il processore DAG, in GB.

Esempio:

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

  }
}

Regola i parametri del server web

Puoi specificare la quantità di CPU, memoria e spazio su disco utilizzati dal server web Airflow nel tuo ambiente. In questo modo, puoi scalare le prestazioni della UI di Airflow, ad esempio, per soddisfare la domanda proveniente da un elevato numero di utenti o da un numero elevato di DAG gestiti.

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. Nella voce Risorse > Configurazione carichi di lavoro, fai clic su Modifica.

  5. Nel riquadro Configurazione carichi di lavoro, regola i parametri per il server web. Nei campi CPU, Memoria e Archiviazione, specifica il numero di CPU, la memoria e lo spazio di archiviazione per il server web.

  6. Fai clic su Salva.

gcloud

Sono disponibili i seguenti parametri del server web di Airflow:

  • --web-server-cpu: il numero di CPU per il server web Airflow.
  • --web-server-memory: la quantità di memoria per il server web Airflow.
  • --web-server-storage: la quantità di spazio su disco per il server web di Airflow.

Esegui questo comando di 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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • WEB_SERVER_CPU: il numero di CPU per il server web, in unità vCPU.
  • WEB_SERVER_MEMORY: la quantità di memoria per il server web.
  • WEB_SERVER_STORAGE: la quantità di memoria per il server web.

Esempio:

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-cpu 1 \
  --web-server-memory 2.5 \
  --web-server-storage 2

API

  1. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.workloadsConfig.webServer per aggiornare tutti i parametri del server web. Puoi anche aggiornare i singoli parametri del server web specificando una maschera per questi arametri: config.workloadsConfig.webServer.cpu, config.workloadsConfig.webServer.memoryGb, config.workloadsConfig.webServer.storageGb.

    2. Specifica i nuovi parametri del server web nel corpo della richiesta.

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • WEB_SERVER_CPU: il numero di CPU per il server web, in unità vCPU.
  • WEB_SERVER_MEMORY: la quantità di memoria per il server web, in GB.
  • WEB_SERVER_STORAGE: dimensioni del disco del server web in GB.

Esempio:

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

I seguenti campi nel blocco workloads_config.web_server controllano i parametri del server web.

  • web_server.cpu: il numero di CPU per il server web.
  • web_server.memory_gb: la quantità di memoria per il server web.
  • web_server.storage_gb: la quantità di spazio su disco per il server 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
      }
    }

  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • WEB_SERVER_CPU: il numero di CPU per il server web, in unità vCPU.
  • WEB_SERVER_MEMORY: la quantità di memoria per il server web, in GB.
  • WEB_SERVER_STORAGE: dimensioni del disco del server web in GB.

Esempio:

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

  }
}

Regola le dimensioni dell'ambiente

Le dimensioni dell'ambiente controllano i parametri delle prestazioni dell'infrastruttura Cloud Composer gestita che include, ad esempio, il database Airflow.

Considera di selezionare una dimensione dell'ambiente più grande se vuoi eseguire un numero elevato di DAG e attività.

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. Nella voce Risorse > Configurazione carichi di lavoro, fai clic su Modifica.

  5. Nella voce Risorse > Infrastruttura principale, fai clic su Modifica.

  6. Nel riquadro Infrastruttura principale, nel campo Dimensioni ambiente, specifica le dimensioni dell'ambiente.

  7. Fai clic su Salva.

gcloud

L'argomento --environment-size controlla le dimensioni dell'ambiente:

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • ENVIRONMENT_SIZE: small, medium o large.

Esempio:

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

API

  1. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.environmentSize.

    2. Nel corpo della richiesta, specifica le dimensioni dell'ambiente.

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

Sostituisci quanto segue:

  • ENVIRONMENT_SIZE: la dimensione dell'ambiente ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM o ENVIRONMENT_SIZE_LARGE.

Esempio:

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

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

Terraform

Il campo environment_size nel blocco config controlla le dimensioni dell'ambiente:

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

  config {

    environment_size = "ENVIRONMENT_SIZE"

  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • ENVIRONMENT_SIZE: la dimensione dell'ambiente ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM o ENVIRONMENT_SIZE_LARGE.

Esempio:

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

  config {

    environment_size = "ENVIRONMENT_SIZE_SMALL"

    }
  }
}

Passaggi successivi