Scala gli ambienti

Cloud Composer 1 | Cloud Composer 2

Questa pagina descrive come scalare gli ambienti Cloud Composer in Cloud Composer 2.

Altre pagine sulla scalabilità:

Scala verticalmente e orizzontalmente

Opzioni per la scalabilità orizzontale:

Opzioni per la scalabilità verticale:

Regola il numero minimo e massimo di worker

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

Console

  1. Vai alla pagina Ambienti nella console Google Cloud:

    Vai alla pagina Ambienti

  2. Seleziona il tuo ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. In Risorse > Configurazione dei carichi di lavoro, fai clic su Modifica.

  5. Nella finestra di dialogo Configurazione dei carichi di lavoro, nella sezione Scalabilità automatica dei worker, regola i limiti per i worker di Airflow:

    • Nel campo Numero minimo di worker, specifica il numero di worker Airflow che deve sempre eseguire il tuo ambiente. 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.

    • Nel campo Numero massimo di worker, specifica il numero massimo di worker Airflow che possono essere eseguiti dal tuo ambiente. Il numero di worker nel tuo ambiente non supera questo numero, anche se è necessario un numero più elevato di worker per gestire il carico.

  6. Fai clic su Salva.

gcloud

Esegui questo comando di Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --min-workers WORKERS_MIN \
  --max-workers WORKERS_MAX

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • WORKERS_MIN con il numero minimo di worker Airflow che possono essere eseguiti dal tuo ambiente. 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.
  • WORKERS_MAX con il numero massimo di worker Airflow che possono essere eseguiti dal tuo ambiente. Il numero di worker nel tuo ambiente non supera questo numero, anche se è necessario un numero più elevato di worker per gestire il carico.

Esempio:

gcloud composer environments update example-environment \
  --location us-central1 \
  --min-workers 2 \
  --max-workers 6

API

  1. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.

    2. Nel corpo della richiesta, nei campi minCount e maxCount, specifica i nuovi limiti per i worker.

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": WORKERS_MIN,
      "maxCount": WORKERS_MAX
    }
  }
}

Sostituisci:

  • WORKERS_MIN con il numero minimo di worker Airflow che possono essere eseguiti dal tuo ambiente. 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.
  • WORKERS_MAX con il numero massimo di worker Airflow che possono essere eseguiti dal tuo ambiente. Il numero di worker nel tuo ambiente non supera questo numero, anche se è necessario un numero più elevato di worker per gestire il carico.

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": {
      "minCount": 2,
      "maxCount": 6
    }
  }
}

Terraform

I campi min_count e max_count nel blocco workloadsConfig.worker specificano il numero minimo e massimo di worker nel tuo ambiente:

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

  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • WORKERS_MIN con il numero minimo di worker Airflow che possono essere eseguiti dal tuo ambiente. 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.
  • WORKERS_MAX con il numero massimo di worker Airflow che possono essere eseguiti dal tuo ambiente. Il numero di worker nel tuo ambiente non supera questo numero, anche se è necessario un numero più elevato di worker per gestire il carico.

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

  }
}

Regola il numero di scheduler

Il tuo ambiente può eseguire più scheduler Airflow contemporaneamente. Utilizza più scheduler per distribuire il carico tra diverse istanze dello scheduler, in modo da migliorare le prestazioni e l'affidabilità.

Puoi avere fino a 10 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, consumando risorse del tuo ambiente senza contribuire alle prestazioni generali. Le prestazioni effettive dello scheduler dipendono dal numero di worker di Airflow, dal numero di DAG e di attività in esecuzione nel tuo ambiente e dalla configurazione di Airflow e dell'ambiente.

Ti consigliamo di iniziare con due scheduler e di monitorare le prestazioni dell'ambiente. Se modifichi il numero di scheduler, puoi sempre scalare il tuo ambiente per riportarlo al numero originale.

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

Per modificare il numero di scheduler per il tuo ambiente:

Console

  1. Vai alla pagina Ambienti nella console Google Cloud:

    Vai alla pagina Ambienti

  2. Seleziona il tuo ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. In Risorse > Configurazione dei carichi di lavoro, fai clic su Modifica.

  5. Nella finestra di dialogo Configurazione dei carichi di lavoro, nell'elenco a discesa Numero di scheduler, imposta il numero di scheduler per il tuo ambiente.

  6. Fai clic su Salva.

gcloud

Esegui questo comando di Google Cloud CLI:

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

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • SCHEDULER_COUNT con il numero di scheduler.

Esempio:

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-count 2

API

  1. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.softwareConfig.workloadsConfig.scheduler.

    2. Nel corpo della richiesta, nel campo count, specifica il numero di scheduler.

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

Sostituisci:

  • SCHEDULER_COUNT con il numero di scheduler.

Esempio:

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

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

Terraform

Il campo count nel blocco workloads_config.scheduler specifica il numero di scheduler nel tuo ambiente:

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

  config {

    workloads_config {
      scheduler {
        count = SCHEDULER_COUNT
      }
    }

  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • SCHEDULER_COUNT con il numero di scheduler.

Esempio:

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

  config {

    workloads_config {

      scheduler {
        count = 2
      }

    }
  }
}

Regola il numero di attivatori

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

A seconda dell'impostazione di resilienza del tuo ambiente, sono disponibili diverse configurazioni possibili per il numero di triggerer:

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

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

Se hai più di zero trigger, questi vengono fatturati con gli SKU di computing di Cloud Composer, come altri componenti dell'ambiente.

Console

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

    Vai a Ambienti

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

  3. Vai alla scheda Configurazione dell'ambiente.

  4. Nell'elemento Risorse > Carichi di lavoro, fai clic su Modifica. Si apre il riquadro Configurazione dei carichi di lavoro.

  5. Nella sezione Triggerer, utilizza il campo Numero di attivatori per inserire il numero di attivatori nel tuo ambiente.

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

  6. Fai clic su Salva e attendi che l'ambiente venga aggiornato.

gcloud

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:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • TRIGGERER_COUNT con il numero di attivatori.

    • 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 con il numero di CPU per un triggerer, in unità vCPU. Questo flag è facoltativo; se non viene fornito, viene utilizzato il valore predefinito di 0.5 vCPU. Valori consentiti: 0.5, 0.75, 1.

  • TRIGGERER_MEMORY con la quantità di memoria per un attivatore. Questo flag è facoltativo; se non viene fornito, viene utilizzato il valore predefinito di 0.5 GB.

    La memoria minima richiesta è uguale al numero di CPU allocate per gli attivatori. Il valore massimo consentito corrisponde al numero di CPU dell'attivatore moltiplicato per 6,5.

    Ad esempio, se imposti il flag --triggerer-cpu su 1, il valore minimo per --triggerer-memory è 1 e il valore massimo è 6.5.

Esempi:

  • Disattiva gli attivatori impostando il numero di attivatori su 0. Questa operazione non richiede la specifica di CPU o memoria per gli attivatori.

    gcloud composer environments update example-environment \
      --location us-central1 \
      --triggerer-count 0
    
  • Scalabilità su più istanze di triggerer:

    gcloud composer environments update example-environment \
      --location us-central1 \
      --triggerer-count 4 \
      --triggerer-cpu 1 \
      --triggerer-memory 1GB
    

API

  1. Creare una richiesta API environments.patch.

  2. Nel parametro di query updateMask, specifica la maschera config.workloadsConfig.triggerer.

  3. Nel corpo della richiesta, utilizza il seguente oggetto

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

Sostituisci:

  • TRIGGERER_COUNT con il numero di attivatori.

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

      Se utilizzi almeno un attivatore, devi specificare anche i valori per TRIGGERER_CPU e TRIGGERER_MEMORY:

      • Imposta TRIGGERER_CPU sul numero di CPU per un triggerer, in unità vCPU. Valori consentiti: 0.5, 0.75, 1.

      • Imposta TRIGGERER_MEMORY sulla quantità di memoria per un trigger. La memoria minima richiesta è uguale al numero di CPU allocate per gli attivatori. Il valore massimo consentito è uguale al numero di CPU dell'attivatore moltiplicato per 6,5.

        Ad esempio, se imposti TRIGGERER_CPU su 1, il valore minimo per TRIGGERER_MEMORY è 1 e il valore massimo è 6.5.

Esempi:

  • Disattiva gli attivatori impostando il numero di attivatori su 0. Questa operazione non richiede la specifica di CPU o memoria per gli attivatori.

    // PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
    // locations/us-central1/environments/example-environment?updateMask=
    // config.workloadsConfig.triggerer
    "config": {
      "workloadsConfig": {
        "triggerer": {
          "count": 0
        }
      }
    }
    
  • Scalabilità su più istanze di triggerer:

    // PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
    // locations/us-central1/environments/example-environment?updateMask=
    // config.workloadsConfig.triggerer
    "config": {
      "workloadsConfig": {
        "triggerer": {
          "count": 4,
          "cpu": 1,
          "memoryGb": 1
        }
      }
    }
    

Terraform

Il campo count nel blocco workloads_config.triggerer specifica il numero di attivatori nel tuo ambiente:

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

  config {

    workloads_config {
      triggerer {
        count = TRIGGERER_COUNT
      }
    }

  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • TRIGGERER_COUNT con il numero di attivatori.

Esempio:

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

  config {

    workloads_config {

      triggerer {
        count = 1
      }

    }
  }
}

Regola i parametri di scalabilità e prestazioni di worker, scheduler, triggerer e server web

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

Console

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

    Vai a Ambienti

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

  3. Vai alla scheda Configurazione dell'ambiente.

  4. Nell'elemento Risorse > Carichi di lavoro, fai clic su Modifica. Si apre il riquadro Configurazione dei carichi di lavoro.

  5. Negli elenchi a discesa Numero di scheduler e Numero di trigger seleziona il numero di scheduler e trigger nel tuo ambiente.

  6. Nel riquadro Configurazione dei carichi di lavoro, nei campi CPU, Memoria e Archiviazione, specifica il numero di CPU, memoria e spazio di archiviazione per gli scheduler, gli attivatori, il server web e i worker di Airflow.

  7. Fai clic su Salva.

gcloud

I seguenti argomenti controllano i parametri di CPU, memoria e spazio su disco degli scheduler, del server web e dei worker di Airflow. Ogni scheduler e worker utilizza la quantità specificata di risorse.

  • --scheduler-cpu specifica il numero di CPU per uno scheduler Airflow.
  • --scheduler-memory specifica la quantità di memoria per uno scheduler Airflow.
  • --scheduler-storage specifica la quantità di spazio su disco per uno scheduler Airflow.
  • --triggerer-cpu specifica il numero di CPU per un trigger di Airflow. Valori consentiti: 0.5, 0.75, 1. Se vuoi regolare la CPU dell'attivatore, sono richiesti anche i flag --triggerer-memory e --triggerer-count.
  • --triggerer-memory specifica la quantità di memoria per un trigger Airflow. Se vuoi regolare la memoria dell'attivatore, sono richiesti anche i flag --triggerer-cpu e --triggerer-count.

    La memoria minima richiesta è uguale al numero di CPU allocate per gli attivatori. Il valore massimo consentito è uguale al numero di CPU dell'attivatore moltiplicato per 6,5.

    Ad esempio, se imposti il flag --triggerer-cpu su 1, il valore minimo per --triggerer-memory è 1 e il valore massimo è 6.5.

  • --web-server-cpu specifica il numero di CPU per il server web Airflow.

  • --web-server-memory specifica la quantità di memoria per il server web Airflow.

  • --web-server-storage specifica la quantità di spazio su disco per il server web Airflow.

  • --worker-cpu specifica il numero di CPU per un worker Airflow.

  • --worker-memory specifica la quantità di memoria per un worker Airflow.

  • --worker-storage specifica la quantità di spazio su disco per un worker Airflow.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --scheduler-cpu SCHEDULER_CPU \
    --scheduler-memory SCHEDULER_MEMORY \
    --scheduler-storage SCHEDULER_STORAGE \
    --triggerer-count TRIGGERER_COUNT \
    --triggerer-cpu TRIGGERER_CPU \
    --triggerer-memory TRIGGERER_MEMORY \
    --web-server-cpu WEB_SERVER_CPU \
    --web-server-memory WEB_SERVER_MEMORY \
    --web-server-storage WEB_SERVER_STORAGE \
    --worker-cpu WORKER_CPU \
    --worker-memory WORKER_MEMORY \
    --worker-storage WORKER_STORAGE

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • SCHEDULER_CPU con il numero di CPU per uno scheduler, in unità vCPU.
  • SCHEDULER_MEMORY con la quantità di memoria per uno scheduler.
  • SCHEDULER_STORAGE con le dimensioni del disco per uno scheduler.
  • TRIGGERER_COUNT con il numero di attivatori. Questo valore è obbligatorio anche se non vuoi modificare il numero attuale di triggerer e vuoi solo modificare l'allocazione di CPU o memoria.
  • TRIGGERER_CPU con il numero di CPU per un triggerer, in unità vCPU.
  • TRIGGERER_MEMORY con la quantità di memoria per un attivatore.
  • WEB_SERVER_CPU con il numero di CPU per il server web, in unità vCPU.
  • WEB_SERVER_MEMORY con la quantità di memoria per il server web.
  • WEB_SERVER_STORAGE con la quantità di memoria per il server web.
  • WORKER_CPU con il numero di CPU per un worker, in unità vCPU.
  • WORKER_MEMORY con la quantità di memoria per un worker.
  • WORKER_STORAGE con le dimensioni del disco per un worker.

Esempio:

gcloud composer environments update example-environment \
    --location us-central1 \
    --scheduler-cpu 0.5 \
    --scheduler-memory 2.5GB\
    --scheduler-storage 2GB \
    --triggerer-count 2 \
    --triggerer-cpu 1 \
    --triggerer-memory 1GB \
    --web-server-cpu 1 \
    --web-server-memory 2.5GB \
    --web-server-storage 2GB \
    --worker-cpu 1 \
    --worker-memory 2GB \
    --worker-storage 2GB

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 gli scheduler, specifica la maschera config.workloadsConfig.scheduler.cpu,config.workloadsConfig.scheduler.memoryGb,config.workloadsConfig.scheduler.storageGB.

    Quando aggiorni i parametri dell'attivatore, specifica la maschera config.workloadsConfig.triggerer. Non è possibile specificare maschere per singoli parametri dell'attivatore.

    1. Nel corpo della richiesta, specifica i parametri di scalabilità e prestazioni.
  "config": {
    "workloadsConfig": {
      "scheduler": {
        "cpu": SCHEDULER_CPU,
        "memoryGb": SCHEDULER_MEMORY,
        "storageGb": SCHEDULER_STORAGE
      },
      "triggerer": {
        "count": TRIGGERER_COUNT,
        "cpu": TRIGGERER_CPU,
        "memoryGb": TRIGGERER_MEMORY
      }
      "webServer": {
        "cpu": WEB_SERVER_CPU,
        "memoryGb": WEB_SERVER_MEMORY,
        "storageGb": WEB_SERVER_STORAGE
      },
      "worker": {
        "cpu": WORKER_CPU,
        "memoryGb": WORKER_MEMORY,
        "storageGb": WORKER_STORAGE
      }
    }
  }

Sostituisci:

  • SCHEDULER_CPU con il numero di CPU per uno scheduler, in unità vCPU.
  • SCHEDULER_MEMORY con la quantità di memoria per uno scheduler, in GB.
  • SCHEDULER_STORAGE con le dimensioni del disco per uno scheduler, in GB.
  • TRIGGERER_COUNT con il numero di attivatori. Questo parametro è obbligatorio anche se non vuoi modificare il numero attuale di attivatori e vuoi solo modificare l'allocazione di CPU o memoria.
  • TRIGGERER_CPU con il numero di CPU per un triggerer, in unità vCPU. Valori consentiti: 0.5, 0.75, 1.
  • TRIGGERER_MEMORY con la quantità di memoria per un attivatore.

    La memoria minima richiesta è uguale al numero di CPU allocate per i triggerer. Il valore massimo consentito è uguale al numero di CPU dell'attivatore moltiplicato per 6,5.

    Ad esempio, se imposti TRIGGERER_CPU su 1, il valore minimo per TRIGGERER_MEMORY è 1 e il valore massimo è 6.5.

  • WEB_SERVER_CPU con il numero di CPU per il server web, in unità vCPU.

  • WEB_SERVER_MEMORY con la quantità di memoria per il server web, in GB.

  • WEB_SERVER_STORAGE con le dimensioni del disco per il server web, in GB.

  • WORKER_CPU con il numero di CPU per un worker, in unità vCPU.

  • WORKER_MEMORY con la quantità di memoria per un worker, in GB.

  • WORKER_STORAGE con 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.scheduler.cpu,
// config.workloadsConfig.scheduler.memoryGB,
// config.workloadsConfig.scheduler.storageGb,
// config.workloadsConfig.triggerer
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb,
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGb

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    },
    "triggerer": {
      "count": 1,
      "cpu": 1,
      "memoryGb": 1
    },
    "webServer": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    },
    "worker": {
      "cpu": 1,
      "memoryGb": 2,
      "storageGb": 2
    }
  }
}

Terraform

I seguenti blocchi nel blocco workloadsConfig controllano i parametri di CPU, memoria e spazio su disco di scheduler, server web, triggerer e worker Airflow. Ogni scheduler, triggerer e worker utilizzano la quantità specificata di risorse.

  • Il campo scheduler.cpu specifica il numero di CPU per uno scheduler Airflow.
  • Il campo scheduler.memory_gb specifica la quantità di memoria per uno scheduler Airflow.
  • Il campo scheduler.storage_gb consente di specificare la quantità di spazio su disco per uno scheduler.
  • Il campo triggerer.cpu specifica il numero di CPU per un trigger di Airflow.
  • Il campo triggerer.memory_gb specifica la quantità di memoria per un attivatore Airflow.
  • Il campo web_server.cpu specifica il numero di CPU per il server web Airflow.
  • Il campo web_server.memory_gb consente di specificare la quantità di memoria per il server web Airflow.
  • Il campo web_server.storage_gb specifica la quantità di spazio su disco per il server web Airflow.
  • Il campo worker.cpu specifica il numero di CPU per un worker Airflow.
  • Il campo worker.memory_gb specifica la quantità di memoria per un worker Airflow.
  • Il campo worker.storage_gb specifica 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 {

      scheduler {
        cpu = SCHEDULER_CPU
        memory_gb = SCHEDULER_MEMORY
        storage_gb = SCHEDULER_STORAGE
      }
      triggerer {
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
        count = 1
      }
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
      worker {
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
      }
    }

  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • SCHEDULER_CPU con il numero di CPU per uno scheduler, in unità vCPU.
  • SCHEDULER_MEMORY con la quantità di memoria per uno scheduler, in GB.
  • SCHEDULER_STORAGE con le dimensioni del disco per uno scheduler, in GB.
  • TRIGGERER_CPU con il numero di CPU per un triggerer, in unità vCPU.
  • TRIGGERER_MEMORY con la quantità di memoria per un trigger, espressa in GB.
  • WEB_SERVER_CPU con il numero di CPU per il server web, in unità vCPU.
  • WEB_SERVER_MEMORY con la quantità di memoria per il server web, in GB.
  • WEB_SERVER_STORAGE con le dimensioni del disco per il server web, in GB.
  • WORKER_CPU con il numero di CPU per un worker, in unità vCPU.
  • WORKER_MEMORY con la quantità di memoria per un worker, in GB.
  • WORKER_STORAGE con 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 {

      scheduler {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
      triggerer {
        cpu = 0.5
        memory_gb = 0.5
        count = 1
      }
      web_server {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
      worker {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
    }

  }
}

Regola le dimensioni dell'ambiente

La dimensione Ambiente controlla i parametri delle prestazioni dell'infrastruttura gestita Cloud Composer che include il database Airflow. Valuta la possibilità di selezionare una dimensione dell'ambiente più grande se vuoi eseguire un numero elevato di DAG e attività.

Console

  1. Vai alla pagina Ambienti nella console Google Cloud:

    Vai alla pagina Ambienti

  2. Seleziona il tuo ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. In Risorse > Infrastruttura principale, fai clic su Modifica.

  5. Nella finestra di dialogo Infrastruttura principale, specifica le dimensioni dell'ambiente nel campo Dimensioni ambiente.

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

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • ENVIRONMENT_SIZE con 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:

  • ENVIRONMENT_SIZE con 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:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • ENVIRONMENT_SIZE con 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