Faire évoluer des environnements

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Cette page explique comment mettre à l'échelle des environnements Cloud Composer.

Mettre à l'échelle verticalement et horizontalement

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 planificateurs. À la place, vous spécifiez le nombre et le type de machines pour les nœuds du cluster de votre environnement.

Options de scaling horizontal :

  • Ajuster le nombre de nœuds
  • Ajuster le nombre de programmeurs

Options de scaling vertical :

  • Ajuster le type de machine de l'instance Cloud SQL
  • Ajuster le type de machine du serveur Web

Ajuster les paramètres du programmateur

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

Si votre environnement utilise Airflow 2, vous pouvez spécifier un certain nombre de programmeurs jusqu'à atteindre le nombre de nœuds de votre environnement.

Lorsque vous mettez à l'échelle des planificateurs, tenez compte des points suivants :

  • L'augmentation du nombre de programmeurs n'améliore pas toujours les performances d'Airflow.

    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.

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

Console

  1. Dans la console Google Cloud , accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

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

  4. Dans l'élément Ressources > Configuration des charges de travail, cliquez sur Modifier.

  5. Dans l'élément Ressources > Nombre de planificateurs, cliquez sur Modifier.

  6. Dans le volet Configuration du planificateur, dans le champ Nombre de planificateurs, spécifiez le nombre de planificateurs pour votre environnement.

  7. Cliquez sur Enregistrer.

gcloud

Les paramètres du planificateur Airflow suivants sont disponibles :

  • --scheduler-count : nombre de planificateurs dans votre environnement.

Exécutez la commande Google Cloud CLI suivante :

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

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.

Exemple :

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

API

  1. Rédigez une requête API environments.patch.

  2. Dans cette requête :

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

    2. Dans le corps de la requête, spécifiez le nombre de planificateurs pour votre environnement.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": SCHEDULER_COUNT
    }
  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.

  • SCHEDULER_COUNT : nombre de planificateurs.

Exemple :

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

Les champs suivants du bloc workloads_config.scheduler contrôlent les paramètres du programmateur Airflow. Chaque programmateur utilise la quantité de ressources spécifiée.

  • scheduler.count : nombre de planificateurs dans votre environnement.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      scheduler {
        count = SCHEDULER_COUNT
      }
    }

  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.

  • SCHEDULER_COUNT : nombre de planificateurs.

Exemple :

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

  config {

    workloads_config {
      scheduler {
        
        count = 2
      }
    }

  }
}

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. Dans la console Google Cloud , accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  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 volet Configuration des nœuds de calcul, dans le champ Nombre de nœuds, 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 les éléments suivants :

  • ENVIRONMENT_NAME : nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.
  • NODE_COUNT : nombre de nœuds. Le nombre minimal de nœuds est de 3.
  • NODE_ZONE : zone Compute Engine pour les VM de votre 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 les éléments suivants :

  • NODE_COUNT : 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 les éléments suivants :

  • NODE_COUNT : nombre de nœuds.

Exemple :

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

  config {

    node_config {
      node_count = 4
    }

}

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. Dans la console Google Cloud , accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  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 le volet 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 les éléments suivants :

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 les éléments suivants :

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 les éléments suivants :

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. Dans la console Google Cloud , accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  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 le volet Configuration du serveur Web, dans la liste déroulante Type de machine 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 les éléments suivants :

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 les éléments suivants :

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 les éléments suivants :

Exemple :

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

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

Étape suivante