Ambienti di scalabilità

Cloud Composer 1 | Cloud Composer 2

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

Per informazioni su come funziona la scalabilità dell'ambiente, vedi Scalabilità dell'ambiente.

Scala 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. ma devi specificare il numero e il tipo di macchine per i nodi nel cluster del tuo ambiente.

Opzioni per la scalabilità orizzontale:

Opzioni per la scalabilità verticale:

Modifica 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. 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 Nodi worker > Conteggio nodi, fai clic su Modifica.

  5. Nel campo Conteggio nodi della finestra di dialogo Configurazione nodi worker, 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:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • NODE_COUNT con il numero di nodi. Il numero minimo di nodi è 3.
  • NODE_ZONE con la zona Compute Engine per le VM del tuo 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:

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

  • NODE_COUNT con il numero di nodi.

Esempio:

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

  config {

    node_config {
      node_count = 4
    }

}

Regolare 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 per migliorare le prestazioni e l'affidabilità.

Puoi specificare un numero di scheduler fino al numero di nodi nel tuo ambiente.

L'aumento del numero di scheduler non migliora sempre le prestazioni di Airflow. Ad esempio, avere un solo scheduler può fornire prestazioni migliori rispetto a due. Questo può accadere quando lo scheduler aggiuntivo non viene utilizzato, consumando quindi risorse del tuo ambiente senza contribuire alle prestazioni generali. Le prestazioni effettive dello scheduler dipendono dal numero di worker 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 del tuo ambiente. Se modifichi il numero di scheduler, puoi sempre scalare l'ambiente riportandolo al numero originale.

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

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 > Numero di scheduler, fai clic su Modifica.

  5. Nel campo Numero di scheduler della finestra di dialogo Configurazione scheduler, specifica 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. Crea una richiesta API environments.patch.

  2. In questa richiesta:

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

    2. Nel corpo della richiesta, specifica il numero di nodi per il tuo ambiente.

{
  "config": {
    "softwareConfig": {
      "schedulerCount": SCHEDULER_COUNT
    }
}

Sostituisci:

  • SCHEDULER_COUNT con il numero di scheduler.

Esempio:

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

{
  "config": {
    "softwareConfig": {
      "schedulerCount": 2
    }
}

Terraform

Il campo scheduler_count nel blocco software_config specifica il numero di scheduler nel tuo ambiente.

Questo campo è disponibile solo negli ambienti Cloud Composer 1 che utilizzano Airflow 2.

resource "google_composer_environment" "example" {

  config {
    software_config {
      scheduler_count = SCHEDULER_COUNT
    }
  }
}

Sostituisci:

  • SCHEDULER_COUNT con il numero di scheduler.

Esempio:

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

  config {
    software_config {
      scheduler_count = 2
    }
  }
}

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. 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 > Tipo di macchina Cloud SQL, fai clic su Modifica.

  5. Nell'elenco a discesa Tipo di macchina Cloud SQL della finestra di dialogo Configurazione Cloud SQL, seleziona il tipo di macchina per l'istanza Cloud SQL del tuo ambiente.

  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 di Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --cloud-sql-machine-type SQL_MACHINE_TYPE

Sostituisci:

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:

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:

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. 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 > Tipo di macchina server web, fai clic su Modifica.

  5. Nella finestra di dialogo Configurazione server web, nell'elenco a discesa Tipo di macchina 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 di Airflow nel tuo ambiente.

Esegui questo comando di Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-machine-type WS_MACHINE_TYPE

Sostituisci:

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:

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:

Esempio:

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

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

Passaggi successivi