Ambienti di scalabilità

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Questa pagina descrive come scalare gli ambienti Cloud Composer.

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

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

    Vai ad Ambienti

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

  3. Vai alla scheda Configurazione ambiente.

  4. Nell'elemento Risorse > Configurazione dei carichi di lavoro, fai clic su Modifica.

  5. Nell'elemento Risorse > Numero di pianificatori, fai clic su Modifica.

  6. Nel riquadro Configurazione dello scheduler, specifica il numero di scheduler per il tuo ambiente nel campo Numero di scheduler.

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

  1. Crea una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.workloadsConfig.schedulerCount.

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

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

    Vai ad Ambienti

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

  3. Vai alla scheda Configurazione ambiente.

  4. Nell'elemento Nodi worker > Numero di nodi, fai clic su Modifica.

  5. Nel riquadro Configurazione dei nodi worker, nel campo Conteggio nodi, specifica il numero di nodi nel tuo ambiente.

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

  1. Crea una richiesta API environments.patch.

  2. In questa richiesta:

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

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

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

    Vai ad Ambienti

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

  3. Vai alla scheda Configurazione ambiente.

  4. Nell'elemento Tipo di macchina Cloud SQL in Risorse >, fai clic su Modifica.

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

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

Esempio:

gcloud composer environments update example-environment \
  --location us-central1 \
  --cloud-sql-machine-type db-n1-standard-2

API

  1. Crea una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.databaseConfig.machineType.

    2. Nel corpo della richiesta, specifica il tipo di macchina per l'istanza Cloud SQL.

{
  "config": {
    "databaseConfig": {
      "machineType": "SQL_MACHINE_TYPE"
    }
  }
}

Sostituisci quanto segue:

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:

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

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

    Vai ad Ambienti

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

  3. Vai alla scheda Configurazione ambiente.

  4. Nell'elemento Tipo di macchina del server web in Risorse >, fai clic su Modifica.

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

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

Esempio:

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-machine-type composer-n1-webserver-2

API

  1. Crea una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.webServerConfig.machineType.

    2. Nel corpo della richiesta, specifica il tipo di macchina per il server web.

{
  "config": {
    "webServerConfig": {
      "machineType": "WS_MACHINE_TYPE"
    }
  }
}

Sostituisci quanto segue:

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:

Esempio:

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

  config {
    web_server_config {
      machine_type = "composer-n1-webserver-2"
    }
}

Passaggi successivi