Faire évoluer des environnements

Cloud Composer 1 | Cloud Composer 2

Cette page explique comment procéder au scaling d'environnements Cloud Composer dans Cloud Composer 1.

Pour en savoir plus sur le fonctionnement du scaling d'environnement, consultez la page Scaling de l'environnement.

Échelle verticale et horizontale

Dans Cloud Composer 1, vous ne définissez pas de ressources de processeur et de mémoire spécifiques pour les composants Cloud Composer et Airflow tels que les nœuds de calcul et les programmeurs. À la place, vous devez spécifier le nombre et le type de machines pour les nœuds du cluster de votre environnement.

Options de scaling horizontal :

Options de scaling vertical :

Ajuster le nombre de nœuds

Vous pouvez modifier le nombre de nœuds dans votre environnement.

Ce nombre correspond au nombre de nœuds de calcul Airflow dans votre environnement. En plus d'exécuter des nœuds de calcul Airflow, les nœuds de votre environnement exécutent également des programmeurs Airflow et d'autres composants d'environnement.

Console

  1. Accédez à la page Environnements dans la console Google Cloud:

    Accéder à la page Environnements

  2. Sélectionnez votre environnement.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans l'élément Nœuds de calcul > Nombre de nœuds, cliquez sur Modifier.

  5. Dans le champ Nombre de nœuds de la boîte de dialogue Configuration des nœuds de calcul, spécifiez le nombre de nœuds dans votre environnement.

  6. Cliquez sur Enregistrer.

gcloud

L'argument --node-count contrôle le nombre de nœuds dans votre environnement :

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --zone NODE_ZONE \
    --node-count NODE_COUNT

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région dans laquelle se trouve l'environnement.
  • NODE_COUNT par le nombre de nœuds ; Le nombre minimal de nœuds est de 3.
  • NODE_ZONE par la zone Compute Engine pour les VM de l'environnement ;

Exemple :

gcloud composer environments update example-environment \
    --location us-central1 \
    --zone us-central1-a \
    --node-count 6

API

  1. Créez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.nodeCount.

    2. Dans le corps de la requête, spécifiez le nombre de nœuds de votre environnement.

  "config": {
    "nodeCount": NODE_COUNT
  }

Remplacez :

  • NODE_COUNT par le nombre de nœuds. Le nombre minimal de nœuds est de 3.

Exemple :

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

"config": {
  "nodeCount": 6
}

Terraform

Le champ node_count du bloc node_config spécifie le nombre de nœuds dans votre environnement.

resource "google_composer_environment" "example" {

  config {
    node_config {
      node_count = NODE_COUNT
    }
}

Remplacez :

  • NODE_COUNT par le nombre de nœuds.

Exemple :

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

  config {

    node_config {
      node_count = 4
    }

}

Ajuster le nombre de programmeurs

Votre environnement peut exécuter plusieurs programmeurs Airflow à la fois. Utilisez plusieurs programmeurs pour répartir la charge entre les instances de programmeur, et ainsi améliorer les performances et la fiabilité.

Vous pouvez spécifier un nombre de programmeurs jusqu'au nombre de nœuds de votre environnement.

L'augmentation du nombre de programmeurs n'améliore pas toujours les performances d'Airflow. Par exemple, le fait d'avoir un seul programmeur peut offrir de meilleures performances que deux. C'est le cas lorsque le programmeur supplémentaire n'est pas utilisé et consomme donc les ressources de votre environnement sans incidence sur les performances globales. Les performances réelles du programmeur dépendent du nombre de nœuds de calcul Airflow, du nombre de DAG et des tâches exécutées dans votre environnement, ainsi que de la configuration d'Airflow et de l'environnement.

Nous vous recommandons de commencer par deux programmeurs, puis de surveiller les performances de votre environnement. Si vous modifiez le nombre de programmeurs, vous pouvez toujours rétablir l'échelle du nombre de programmeurs d'origine de votre environnement.

Pour en savoir plus sur la configuration de plusieurs programmeurs, consultez la documentation Airflow.

Console

  1. Accédez à la page Environnements dans la console Google Cloud:

    Accéder à la page Environnements

  2. Sélectionnez votre environnement.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans l'élément Ressources > Nombre de programmeurs, cliquez sur Modifier.

  5. Dans la boîte de dialogue Configuration du programmeur, spécifiez le nombre de programmeurs pour votre environnement dans le champ Nombre de programmeurs.

  6. Cliquez sur Enregistrer.

gcloud

Exécutez la commande Google Cloud CLI suivante:

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

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région dans laquelle se trouve l'environnement.
  • SCHEDULER_COUNT par le nombre de programmeurs ;

Exemple :

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

API

  1. Créez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.softwareConfig.schedulerCount.

    2. Dans le corps de la requête, spécifiez le nombre de nœuds de votre environnement.

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

Remplacez :

  • SCHEDULER_COUNT par le nombre de programmeurs.

Exemple :

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

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

Terraform

Le champ scheduler_count du bloc software_config spécifie le nombre de programmeurs dans votre environnement.

Ce champ n'est disponible que dans les environnements Cloud Composer 1 qui utilisent Airflow 2.

resource "google_composer_environment" "example" {

  config {
    software_config {
      scheduler_count = SCHEDULER_COUNT
    }
  }
}

Remplacez :

  • SCHEDULER_COUNT par le nombre de programmeurs.

Exemple :

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

  config {
    software_config {
      scheduler_count = 2
    }
  }
}

Ajuster le type de machine de l'instance Cloud SQL

Vous pouvez modifier le type de machine de l'instance Cloud SQL qui stocke la base de données Airflow de votre environnement.

Console

  1. Accédez à la page Environnements dans la console Google Cloud:

    Accéder à la page Environnements

  2. Sélectionnez votre environnement.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans l'élément Ressources > Type de machine Cloud SQL, cliquez sur Modifier.

  5. Dans la boîte de dialogue Configuration Cloud SQL, dans la liste déroulante Type de machine Cloud SQL, sélectionnez le type de machine pour l'instance Cloud SQL de votre environnement.

  6. Cliquez sur Enregistrer.

gcloud

Les arguments --cloud-sql-machine-type contrôlent le type de machine de l'instance Cloud SQL dans votre environnement.

Exécutez la commande Google Cloud CLI suivante:

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

Remplacez :

Exemple :

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

API

  1. Créez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.databaseConfig.machineType.

    2. Dans le corps de la requête, spécifiez le type de machine pour l'instance Cloud SQL.

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

Remplacez :

Exemple :

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

Le champ machine_type du bloc database_config spécifie le type de machine pour l'instance Cloud SQL.

resource "google_composer_environment" "example" {

  config {
    database_config {
      machine_type = "SQL_MACHINE_TYPE"
    }
  }
}

Remplacez :

Exemple :

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

  config {
    database_config {
      machine_type = "db-n1-standard-2"
    }
}

Ajuster le type de machine du serveur Web

Vous pouvez modifier le type de machine pour le serveur Web Airflow de votre environnement.

Console

  1. Accédez à la page Environnements dans la console Google Cloud:

    Accéder à la page Environnements

  2. Sélectionnez votre environnement.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans l'élément Ressources > Type de machine du serveur Web, cliquez sur Modifier.

  5. Dans la liste déroulante Type de machine du serveur Web de la boîte de dialogue Configuration du serveur Web, sélectionnez le type de machine pour le serveur Web Airflow.

  6. Cliquez sur Enregistrer.

gcloud

Les arguments --web-server-machine-type contrôlent le type de machine de l'instance de serveur Web Airflow dans votre environnement.

Exécutez la commande Google Cloud CLI suivante:

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

Remplacez :

Exemple :

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

API

  1. Créez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.webServerConfig.machineType.

    2. Dans le corps de la requête, spécifiez le type de machine pour le serveur Web.

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

Remplacez :

Exemple :

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

Le champ machine_type du bloc web_server_config spécifie le type de machine pour l'instance de serveur Web Airflow.

resource "google_composer_environment" "example" {

  config {
    web_server_config {
      machine_type = "WS_MACHINE_TYPE"
    }
  }
}

Remplacez :

Exemple :

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

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

Étapes suivantes