Cloud Composer 1 | Cloud Composer 2
Questa pagina descrive come scalare gli ambienti Cloud Composer in Cloud Composer 2.
Altre pagine sulla scalabilità:
Per una guida sulla selezione di parametri di scalabilità e prestazioni ottimali per il tuo ambiente, consulta Ottimizzare le prestazioni e i costi dell'ambiente.
Per informazioni su come funziona la scalabilità dell'ambiente, consulta Scalabilità dell'ambiente.
Scala verticalmente e orizzontalmente
Opzioni per la scalabilità orizzontale:
- Regola il numero minimo e massimo di worker
- Modificare il numero di scheduler
- Regolare il numero di attivatori
Opzioni per la scalabilità verticale:
- Regolare i parametri di scalabilità e prestazioni di worker, scheduler, attivatori e server web
- Regolare le dimensioni dell'ambiente
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
Vai alla pagina Ambienti nella console Google Cloud:
Seleziona il tuo ambiente.
Vai alla scheda Configurazione dell'ambiente.
In Risorse > Configurazione dei carichi di lavoro, fai clic su Modifica.
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.
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
Creare una richiesta API
environments.patch
.In questa richiesta:
Nel parametro
updateMask
, specifica la mascheraconfig.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount
.Nel corpo della richiesta, nei campi
minCount
emaxCount
, 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
Vai alla pagina Ambienti nella console Google Cloud:
Seleziona il tuo ambiente.
Vai alla scheda Configurazione dell'ambiente.
In Risorse > Configurazione dei carichi di lavoro, fai clic su Modifica.
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.
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
Creare una richiesta API
environments.patch
.In questa richiesta:
Nel parametro
updateMask
, specifica la mascheraconfig.softwareConfig.workloadsConfig.scheduler
.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
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli ambiente.
Vai alla scheda Configurazione dell'ambiente.
Nell'elemento Risorse > Carichi di lavoro, fai clic su Modifica. Si apre il riquadro Configurazione dei carichi di lavoro.
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.
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
e10
. - Per ambienti altamente resilienti, utilizza
0
o un valore compreso tra2
e10
.
- Per gli ambienti di resilienza standard, utilizza un valore compreso tra
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 di0.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 di0.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
su1
, 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
Creare una richiesta API
environments.patch
.Nel parametro di query
updateMask
, specifica la mascheraconfig.workloadsConfig.triggerer
.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
e10
. Per ambienti altamente resilienti, utilizza
0
o un valore compreso tra2
e10
.Se utilizzi almeno un attivatore, devi specificare anche i valori per
TRIGGERER_CPU
eTRIGGERER_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
su1
, il valore minimo perTRIGGERER_MEMORY
è1
e il valore massimo è6.5
.
- Per gli ambienti di resilienza standard, utilizza un valore compreso tra
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
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli ambiente.
Vai alla scheda Configurazione dell'ambiente.
Nell'elemento Risorse > Carichi di lavoro, fai clic su Modifica. Si apre il riquadro Configurazione dei carichi di lavoro.
Negli elenchi a discesa Numero di scheduler e Numero di trigger seleziona il numero di scheduler e trigger nel tuo ambiente.
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.
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
su1
, 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
Creare una richiesta API
environments.patch
.In questa richiesta:
- Nel parametro
updateMask
, specifica i campi da aggiornare. Ad esempio, per aggiornare tutti i parametri per gli scheduler, specifica la mascheraconfig.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.- Nel corpo della richiesta, specifica i parametri di scalabilità e prestazioni.
- Nel parametro
"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
su1
, il valore minimo perTRIGGERER_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
Vai alla pagina Ambienti nella console Google Cloud:
Seleziona il tuo ambiente.
Vai alla scheda Configurazione dell'ambiente.
In Risorse > Infrastruttura principale, fai clic su Modifica.
Nella finestra di dialogo Infrastruttura principale, specifica le dimensioni dell'ambiente nel campo Dimensioni ambiente.
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
consmall
,medium
olarge
.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--environment-size medium
API
Creare una richiesta API
environments.patch
.In questa richiesta:
Nel parametro
updateMask
, specifica la mascheraconfig.environmentSize
.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
oENVIRONMENT_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
oENVIRONMENT_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
- Scalabilità e prestazioni dell'ambiente
- Prezzi di Cloud Composer
- Ambienti di aggiornamento
- Architettura dell'ambiente