Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina descrive come scalare gli ambienti Cloud Composer.
- Per informazioni sul funzionamento della scalabilità degli ambienti, vedi Scalabilità degli ambienti.
Scalare verticalmente e orizzontalmente
In Cloud Composer 1, non definisci risorse specifiche di CPU e memoria per i componenti di Cloud Composer e Airflow, come worker e scheduler. Specifichi invece il numero e il tipo di macchine per i nodi nel cluster del tuo ambiente.
Opzioni per la scalabilità orizzontale:
- Modificare il numero di nodi
- Modificare il numero di scheduler
Opzioni per la scalabilità verticale:
- Modifica il tipo di macchina dell'istanza Cloud SQL
- Modifica il tipo di macchina del server web
Modificare 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 dello scheduler in modo da migliorare i livelli di prestazioni e affidabilità.
Se il tuo ambiente utilizza Airflow 2, puoi specificare un numero di scheduler fino al numero di nodi nel tuo ambiente.
Quando esegui lo scale degli scheduler, tieni presente quanto segue:
L'aumento del numero di scheduler non sempre migliora le prestazioni di Airflow.
Ad esempio, questo potrebbe accadere quando lo scheduler aggiuntivo non viene utilizzato e consuma le risorse del tuo ambiente senza contribuire al rendimento complessivo. Le prestazioni effettive dello scheduler dipendono dal numero di worker Airflow, dal numero di DAG e attività eseguiti nel tuo ambiente e dalla configurazione di Airflow e dell'ambiente.
Ti consigliamo di iniziare con due scheduler e poi monitorare il rendimento del tuo ambiente.
Per saperne di più sulla configurazione di più scheduler, consulta la documentazione di Airflow.
Console
Nella console Google Cloud , vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.
Vai alla scheda Configurazione ambiente.
Nell'elemento Risorse > Configurazione dei carichi di lavoro, fai clic su Modifica.
Nell'elemento Risorse > Numero di pianificatori, fai clic su Modifica.
Nel riquadro Configurazione dello scheduler, specifica il numero di scheduler per il tuo ambiente nel campo Numero di scheduler.
Fai clic su Salva.
gcloud
Sono disponibili i seguenti parametri dello scheduler Airflow:
--scheduler-count: il numero di scheduler nel tuo ambiente.
Esegui questo comando Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-count SCHEDULER_COUNT
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome dell'ambiente.LOCATION: la regione in cui si trova l'ambiente.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-count 2
API
Crea una richiesta API
environments.patch.In questa richiesta:
Nel parametro
updateMask, specifica la mascheraconfig.workloadsConfig.schedulerCount.Nel corpo della richiesta, specifica il numero di scheduler per il tuo ambiente.
"config": {
"workloadsConfig": {
"scheduler": {
"count": SCHEDULER_COUNT
}
}
}
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome dell'ambiente.LOCATION: la regione in cui si trova l'ambiente.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": {
"count": 2
}
}
}
Terraform
I seguenti campi nel blocco workloads_config.scheduler controllano i parametri dello scheduler Airflow. Ogni pianificatore utilizza la quantità specificata di
risorse.
scheduler.count: 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 quanto segue:
ENVIRONMENT_NAME: il nome dell'ambiente.LOCATION: la regione in cui si trova l'ambiente.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 {
count = 2
}
}
}
}
Modificare il numero di nodi
Puoi modificare il numero di nodi nel tuo ambiente.
Questo numero corrisponde al numero di worker Airflow nel tuo ambiente. Oltre a eseguire i worker Airflow, i nodi dell'ambiente eseguono anche gli scheduler Airflow e altri componenti dell'ambiente.
Console
Nella console Google Cloud , vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.
Vai alla scheda Configurazione ambiente.
Nell'elemento Nodi worker > Numero di nodi, fai clic su Modifica.
Nel riquadro Configurazione dei nodi worker, nel campo Conteggio nodi, specifica il numero di nodi nel tuo ambiente.
Fai clic su Salva.
gcloud
L'argomento --node-count controlla il numero di nodi nel tuo ambiente:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--zone NODE_ZONE \
--node-count NODE_COUNT
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome dell'ambiente.LOCATION: la regione in cui si trova l'ambiente.NODE_COUNT: il numero di nodi. Il numero minimo di nodi è3.NODE_ZONE: la zona Compute Engine per le VM dell'ambiente.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--zone us-central1-a \
--node-count 6
API
Crea una richiesta API
environments.patch.In questa richiesta:
Nel parametro
updateMask, specifica la mascheraconfig.nodeCount.Nel corpo della richiesta, specifica il numero di nodi per il tuo ambiente.
"config": {
"nodeCount": NODE_COUNT
}
Sostituisci quanto segue:
NODE_COUNT: il numero di nodi. Il numero minimo di nodi è3.
Esempio:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.nodeCount
"config": {
"nodeCount": 6
}
Terraform
Il campo node_count nel blocco node_config specifica il numero di nodi nel tuo ambiente.
resource "google_composer_environment" "example" {
config {
node_config {
node_count = NODE_COUNT
}
}
Sostituisci quanto segue:
NODE_COUNT: il numero di nodi.
Esempio:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
node_config {
node_count = 4
}
}
Modifica il tipo di macchina dell'istanza Cloud SQL
Puoi modificare il tipo di macchina dell'istanza Cloud SQL che archivia il database Airflow del tuo ambiente.
Console
Nella console Google Cloud , vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.
Vai alla scheda Configurazione ambiente.
Nell'elemento Tipo di macchina Cloud SQL in Risorse >, fai clic su Modifica.
Nel riquadro Configurazione Cloud SQL, seleziona il tipo di macchina per l'istanza Cloud SQL del tuo ambiente dall'elenco a discesa Tipo di macchina Cloud SQL.
Fai clic su Salva.
gcloud
Gli argomenti --cloud-sql-machine-type controllano il tipo di macchina dell'istanza Cloud SQL nel tuo ambiente.
Esegui questo comando Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--cloud-sql-machine-type SQL_MACHINE_TYPE
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome dell'ambiente.LOCATION: la regione in cui si trova l'ambiente.SQL_MACHINE_TYPE: il tipo di macchina per l'istanza Cloud SQL.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--cloud-sql-machine-type db-n1-standard-2
API
Crea una richiesta API
environments.patch.In questa richiesta:
Nel parametro
updateMask, specifica la mascheraconfig.databaseConfig.machineType.Nel corpo della richiesta, specifica il tipo di macchina per l'istanza Cloud SQL.
{
"config": {
"databaseConfig": {
"machineType": "SQL_MACHINE_TYPE"
}
}
}
Sostituisci quanto segue:
SQL_MACHINE_TYPE: il tipo di macchina per l'istanza Cloud SQL.
Esempio:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.databaseConfig.machineType
{
"config": {
"databaseConfig": {
"machineType": "db-n1-standard-2"
}
}
}
Terraform
Il campo machine_type nel blocco database_config specifica il tipo di macchina per l'istanza Cloud SQL.
resource "google_composer_environment" "example" {
config {
database_config {
machine_type = "SQL_MACHINE_TYPE"
}
}
}
Sostituisci quanto segue:
SQL_MACHINE_TYPE: il tipo di macchina per l'istanza Cloud SQL.
Esempio:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
database_config {
machine_type = "db-n1-standard-2"
}
}
Modifica il tipo di macchina del server web
Puoi modificare il tipo di macchina per il server web Airflow del tuo ambiente.
Console
Nella console Google Cloud , vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.
Vai alla scheda Configurazione ambiente.
Nell'elemento Tipo di macchina del server web in Risorse >, fai clic su Modifica.
Nel riquadro Configurazione del server web, nell'elenco a discesa Tipo di macchina del server web, seleziona il tipo di macchina per il server web Airflow.
Fai clic su Salva.
gcloud
Gli argomenti --web-server-machine-type controllano il tipo di macchina dell'istanza del server web Airflow nel tuo ambiente.
Esegui questo comando Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--web-server-machine-type WS_MACHINE_TYPE
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome dell'ambiente.LOCATION: la regione in cui si trova l'ambiente.WS_MACHINE_TYPE: il tipo di macchina per l'istanza del server web di Airflow.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-machine-type composer-n1-webserver-2
API
Crea una richiesta API
environments.patch.In questa richiesta:
Nel parametro
updateMask, specifica la mascheraconfig.webServerConfig.machineType.Nel corpo della richiesta, specifica il tipo di macchina per il server web.
{
"config": {
"webServerConfig": {
"machineType": "WS_MACHINE_TYPE"
}
}
}
Sostituisci quanto segue:
WS_MACHINE_TYPE: il tipo di macchina per l'istanza del server web di Airflow.
Esempio:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.webServerConfig.machineType
{
"config": {
"webServerConfig": {
"machineType": "composer-n1-webserver-2"
}
}
}
Terraform
Il campo machine_type nel blocco web_server_config specifica il
tipo di macchina per l'istanza del server web Airflow.
resource "google_composer_environment" "example" {
config {
web_server_config {
machine_type = "WS_MACHINE_TYPE"
}
}
}
Sostituisci quanto segue:
WS_MACHINE_TYPE: il tipo di macchina per l'istanza del server web di Airflow.
Esempio:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
web_server_config {
machine_type = "composer-n1-webserver-2"
}
}
Passaggi successivi
- Scalabilità e prestazioni dell'ambiente
- Prezzi di Cloud Composer
- Aggiornare gli ambienti
- Architettura dell'ambiente